From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48665) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vorzm-0004gh-0K for qemu-devel@nongnu.org; Fri, 06 Dec 2013 04:46:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vorzg-0001Ik-0r for qemu-devel@nongnu.org; Fri, 06 Dec 2013 04:46:49 -0500 Received: from mx1.redhat.com ([209.132.183.28]:17183) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vorzf-0001Ib-O2 for qemu-devel@nongnu.org; Fri, 06 Dec 2013 04:46:43 -0500 Message-ID: <52A1939D.1080709@redhat.com> Date: Fri, 06 Dec 2013 10:06:37 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1386143939-19142-1-git-send-email-gaowanlong@cn.fujitsu.com> In-Reply-To: <1386143939-19142-1-git-send-email-gaowanlong@cn.fujitsu.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH V17 00/11] Add support for binding guest numa nodes to host numa nodes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wanlong Gao , mtosatti@redhat.com Cc: drjones@redhat.com, ehabkost@redhat.com, lersek@redhat.com, qemu-devel@nongnu.org, lcapitulino@redhat.com, bsd@redhat.com, anthony@codemonkey.ws, hutao@cn.fujitsu.com, y-goto@jp.fujitsu.com, peter.huangpeng@huawei.com, afaerber@suse.de Il 04/12/2013 08:58, Wanlong Gao ha scritto: > According to this patch set, we are able to set guest nodes memory policy > like following: > > -numa node,nodeid=0,cpus=0, \ > -numa mem,size=1024M,policy=membind,host-nodes=0-1 \ > -numa node,nodeid=1,cpus=1 \ > -numa mem,size=1024M,policy=interleave,host-nodes=1 > > This supports "policy={default|membind|interleave|preferred},relative=true,host-nodes=N-N" like format. > > And add a QMP command "query-numa" to show numa info through > this API. Marcelo, I'm afraid that these NUMA settings complicate getting properly aligned pages. If you do something like this: -numa node,nodeid=0,cpus=0, \ -numa mem,size=4096M,policy=membind,host-nodes=0 \ -numa node,nodeid=1,cpus=1 \ -numa mem,size=4096M,policy=membind,host-nodes=1 You'll have with your patches (without them it's worse of course): RAM offset physical address node 0 0-3840M 0-3840M host node 0 4096M-4352M 4096M-4352M host node 0 4352M-8192M 4352M-8192M host node 1 3840M-4096M 8192M-8448M host node 1 So only 0-3G and 5-8G are aligned, 3G-5G and 8G-8.25G cannot use gigabyte pages because they are split across host nodes. So rather than your patches, it seems simpler to just widen the PCI hole to 1G for i440FX and 2G for q35. What do you think? Paolo