From owner-svn-src-all@FreeBSD.ORG Sun Feb 6 00:33:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F41D5106564A; Sun, 6 Feb 2011 00:33:12 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id CA62E8FC17; Sun, 6 Feb 2011 00:33:12 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 7C27E46B8A; Sat, 5 Feb 2011 19:33:12 -0500 (EST) Date: Sun, 6 Feb 2011 00:33:12 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: John Baldwin In-Reply-To: <58E18E40-3670-429A-A8D9-0A1C65E99CC5@freebsd.org> Message-ID: References: <201102031922.p13JML8i055697@svn.freebsd.org> <4D4C45C9.4080105@freebsd.org> <201102041356.39777.jhb@freebsd.org> <58E18E40-3670-429A-A8D9-0A1C65E99CC5@freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, Randall Stewart , svn-src-all@freebsd.org, src-committers@freebsd.org, Julian Elischer Subject: Re: svn commit: r218232 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Feb 2011 00:33:13 -0000 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