Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Feb 2011 00:33:12 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        svn-src-head@freebsd.org, Randall Stewart <rrs@freebsd.org>, svn-src-all@freebsd.org, src-committers@freebsd.org, Julian Elischer <julian@freebsd.org>
Subject:   Re: svn commit: r218232 - head/sys/netinet
Message-ID:  <alpine.BSF.2.00.1102060032310.5437@fledge.watson.org>
In-Reply-To: <58E18E40-3670-429A-A8D9-0A1C65E99CC5@freebsd.org>
References:  <201102031922.p13JML8i055697@svn.freebsd.org> <alpine.BSF.2.00.1102041731160.17623@fledge.watson.org> <4D4C45C9.4080105@freebsd.org> <201102041356.39777.jhb@freebsd.org> <58E18E40-3670-429A-A8D9-0A1C65E99CC5@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1102060032310.5437>