From owner-svn-src-head@FreeBSD.ORG Mon May 13 18:01:42 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2CCCD763; Mon, 13 May 2013 18:01:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) by mx1.freebsd.org (Postfix) with ESMTP id 0A498DDD; Mon, 13 May 2013 18:01:42 +0000 (UTC) Received: from dhcp-10-2-212-236.hudson-trading.com (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 72D89B926; Mon, 13 May 2013 14:01:41 -0400 (EDT) Message-ID: <51912A88.8040609@FreeBSD.org> Date: Mon, 13 May 2013 14:01:44 -0400 From: John Baldwin User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130328 Thunderbird/17.0.5 MIME-Version: 1.0 To: Attilio Rao Subject: Re: svn commit: r250601 - in head/sys: sys vm x86/acpica References: <201305131540.r4DFepou074563@svn.freebsd.org> In-Reply-To: <201305131540.r4DFepou074563@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 13 May 2013 14:01:41 -0400 (EDT) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 May 2013 18:01:42 -0000 On 5/13/13 11:40 AM, Attilio Rao wrote: > Author: attilio > Date: Mon May 13 15:40:51 2013 > New Revision: 250601 > URL: http://svnweb.freebsd.org/changeset/base/250601 > > Log: > o Add accessor functions to add and remove pages from a specific > freelist. > o Split the pool of free pages queues really by domain and not rely on > definition of VM_RAW_NFREELIST. > o For MAXMEMDOM > 1, wrap the RR allocation logic into a specific > function that is called when calculating the allocation domain. > The RR counter is kept, currently, per-thread. > In the future it is expected that such function evolves in a real > policy decision referee, based on specific informations retrieved by > per-thread and per-vm_object attributes. > o Add the concept of "probed domains" under the form of vm_ndomains. > It is responsibility for every architecture willing to support multiple > memory domains to correctly probe vm_ndomains along with mem_affinity > segments attributes. Those two values are supposed to remain always > consistent. > Please also note that vm_ndomains and td_dom_rr_idx are both int > because segments already store domains as int. Ideally u_int would > have much more sense. Probabilly this should be cleaned up in the > future. > o Apply RR domain selection also to vm_phys_zero_pages_idle(). My other comments aside: to be clear (this log message doesn't make it clear I think): this changes our NUMA allocation policy to be round-robin instead of first touch (which is probably better for the general case). Also, if you want to honor SLIT, you will need to put back something like the lookup lists from before, though in this case it can just be a simple list of domains for each domain. -- John Baldwin