From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=32989 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q533U-0003vi-Sa for qemu-devel@nongnu.org; Wed, 30 Mar 2011 17:35:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q533T-0000fx-Ja for qemu-devel@nongnu.org; Wed, 30 Mar 2011 17:35:56 -0400 Received: from e32.co.us.ibm.com ([32.97.110.150]:52876) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q533T-0000fn-EQ for qemu-devel@nongnu.org; Wed, 30 Mar 2011 17:35:55 -0400 Received: from d03relay03.boulder.ibm.com (d03relay03.boulder.ibm.com [9.17.195.228]) by e32.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p2ULP3Yl004985 for ; Wed, 30 Mar 2011 15:25:03 -0600 Received: from d03av05.boulder.ibm.com (d03av05.boulder.ibm.com [9.17.195.85]) by d03relay03.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p2ULZqsE116906 for ; Wed, 30 Mar 2011 15:35:53 -0600 Received: from d03av05.boulder.ibm.com (loopback [127.0.0.1]) by d03av05.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p2ULZqM5031313 for ; Wed, 30 Mar 2011 15:35:52 -0600 Message-ID: <4D93A232.6090408@linux.vnet.ibm.com> Date: Wed, 30 Mar 2011 16:35:46 -0500 From: Michael Roth MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] Don't limit node count by smp count References: <1301512475.2976.3.camel@sasha> In-Reply-To: <1301512475.2976.3.camel@sasha> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Sasha Levin Cc: qemu-devel@nongnu.org On 03/30/2011 02:14 PM, Sasha Levin wrote: > It is possible to create CPU-less NUMA nodes, node amount shouldn't be > limited by amount of CPUs. > > Signed-off-by: Sasha Levin > --- > vl.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/vl.c b/vl.c > index 8bcf2ae..8cc1aa8 100644 > --- a/vl.c > +++ b/vl.c > @@ -3002,8 +3002,8 @@ int main(int argc, char **argv, char **envp) > if (nb_numa_nodes> 0) { > int i; > > - if (nb_numa_nodes> smp_cpus) { > - nb_numa_nodes = smp_cpus; > + if (nb_numa_nodes> MAX_NODES) { > + nb_numa_nodes = MAX_NODES; > } > > /* If no memory size if given for any node, assume the default > case > > Did a quick test myself and it seems to work from what I can tell: RHEL6 64-bit guest, QEMU master: /home/mdroth/dev/kvm/qemu.git/x86_64-softmmu/qemu-system-x86_64 -smp 2 -numa node,nodeid=1 -numa node,nodeid=2 -numa node,nodeid=3 -drive file=/home/mdroth/vm/rhel6_64_base.raw,snapshot=off,if=virtio -bios /home/mdroth/dev/kvm/qemu.git/pc-bios/bios.bin -vnc :1 -m 1024 --enable-kvm ... [mdroth@vm0 ~]$ cat /sys/devices/system/node/node{0,1,2}/cpulist 0 1 [mdroth@vm0 ~]$ cat /sys/devices/system/node/node{0,1,2}/distance 10 20 20 20 10 20 20 20 10 [mdroth@vm0 ~]$ cat /sys/devices/system/node/node{0,1,2}/meminfo Node 0 MemTotal: 343664 kB Node 0 MemFree: 181384 kB Node 0 MemUsed: 162280 kB Node 0 Active: 26640 kB Node 0 Inactive: 52752 kB Node 0 Active(anon): 12272 kB Node 0 Inactive(anon): 0 kB Node 0 Active(file): 14368 kB Node 0 Inactive(file): 52752 kB Node 0 Unevictable: 0 kB Node 0 Mlocked: 0 kB Node 0 Dirty: 116 kB Node 0 Writeback: 0 kB Node 0 FilePages: 67220 kB Node 0 Mapped: 12980 kB Node 0 AnonPages: 12168 kB Node 0 Shmem: 104 kB Node 0 KernelStack: 736 kB Node 0 PageTables: 2988 kB Node 0 NFS_Unstable: 0 kB Node 0 Bounce: 0 kB Node 0 WritebackTmp: 0 kB Node 0 Slab: 53356 kB Node 0 SReclaimable: 8896 kB Node 0 SUnreclaim: 44460 kB Node 0 HugePages_Total: 0 Node 0 HugePages_Free: 0 Node 0 HugePages_Surp: 0 Node 1 MemTotal: 344064 kB Node 1 MemFree: 292756 kB Node 1 MemUsed: 51308 kB Node 1 Active: 12548 kB Node 1 Inactive: 11296 kB Node 1 Active(anon): 8120 kB Node 1 Inactive(anon): 4 kB Node 1 Active(file): 4428 kB Node 1 Inactive(file): 11292 kB Node 1 Unevictable: 0 kB Node 1 Mlocked: 0 kB Node 1 Dirty: 4 kB Node 1 Writeback: 0 kB Node 1 FilePages: 15776 kB Node 1 Mapped: 3548 kB Node 1 AnonPages: 6044 kB Node 1 Shmem: 56 kB Node 1 KernelStack: 264 kB Node 1 PageTables: 1904 kB Node 1 NFS_Unstable: 0 kB Node 1 Bounce: 0 kB Node 1 WritebackTmp: 0 kB Node 1 Slab: 14696 kB Node 1 SReclaimable: 1584 kB Node 1 SUnreclaim: 13112 kB Node 1 HugePages_Total: 0 Node 1 HugePages_Free: 0 Node 1 HugePages_Surp: 0 Node 2 MemTotal: 360436 kB Node 2 MemFree: 345112 kB Node 2 MemUsed: 15324 kB Node 2 Active: 0 kB Node 2 Inactive: 0 kB Node 2 Active(anon): 0 kB Node 2 Inactive(anon): 0 kB Node 2 Active(file): 0 kB Node 2 Inactive(file): 0 kB Node 2 Unevictable: 0 kB Node 2 Mlocked: 0 kB Node 2 Dirty: 0 kB Node 2 Writeback: 0 kB Node 2 FilePages: 0 kB Node 2 Mapped: 4 kB Node 2 AnonPages: 0 kB Node 2 Shmem: 0 kB Node 2 KernelStack: 8 kB Node 2 PageTables: 0 kB Node 2 NFS_Unstable: 0 kB Node 2 Bounce: 0 kB Node 2 WritebackTmp: 0 kB Node 2 Slab: 10920 kB Node 2 SReclaimable: 1200 kB Node 2 SUnreclaim: 9720 kB Node 2 HugePages_Total: 0 Node 2 HugePages_Free: 0 Node 2 HugePages_Surp: 0 [mdroth@vm0 ~]$