svn commit: r218232 - head/sys/netinet
Robert Watson
rwatson at FreeBSD.org
Sun Feb 6 00:33:13 UTC 2011
On Fri, 4 Feb 2011, Robert N. M. Watson wrote:
> On 4 Feb 2011, at 10:56, John Baldwin wrote:
>
>> The difference here is that FOREACH_THREAD_IN_PROC() is just a
>> TAILQ_FOREACH(). The CPU iterators are more complex.
>>
>> I agree that that we should have topology-aware iterators, though part of
>> the problem is what do you iterate? We'd have to create new sets of
>> package and core IDs.
>>
>> For HWTHREAD_FOREACH() you can already use CPU_FOREACH().
>
> Yeah, I have no real opinion on spelling at all. Rather, I'm of the opinion
> that we need some more semantics in order to express useful concepts, and
> make it easy to represent things like "one X per package", and "find me the
> closest X to which I wish to enqueue this request".
And just to expand on this thought slightly: I'd like it to answer the
question without dirtying cache lines for shared data (so no locks, etc).
That way we can do it cheaply per-packet if need be.
Robert
More information about the svn-src-head
mailing list