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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"