Re: [Qemu-devel] qemu -numa option and non-contiguous CPU ranges
On Thu, Jun 21, 2012 at 11:39:46PM +0200, Andre Przywara wrote: On 06/21/2012 07:51 PM, Eduardo Habkost wrote: Hi, I just noticed libvirt tries to use the -numa option in a way that qemu never understood: if a node is configured to have a non-contiguous set of CPUs, it tries to generate a command-line option that looks like: -numa node,nodeid=...,cpus=0,2,4,mem=... ^ But this format was never supported by qemu. This format is even a bit weird, as , is an option separator, and it is being used as a separator _inside_ an option. Exactly this was the reason back then to not support non-contiguous set of CPUs. Inside qemu there is no reason why this shouldn't work, it was just hard to write on the command line. So after a short discussion we decided to drop this for the time being. If you have a great idea how to specify this (I think a comma will not work, because it will be catched earlier), I am all ears. Lets just use a ';' or ':' as the seperator instead ? Daniel -- |: http://berrange.com -o-http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
Re: [Qemu-devel] qemu -numa option and non-contiguous CPU ranges
On Fri, Jun 22, 2012 at 11:00:57AM +0100, Daniel P. Berrange wrote: On Thu, Jun 21, 2012 at 11:39:46PM +0200, Andre Przywara wrote: On 06/21/2012 07:51 PM, Eduardo Habkost wrote: Hi, I just noticed libvirt tries to use the -numa option in a way that qemu never understood: if a node is configured to have a non-contiguous set of CPUs, it tries to generate a command-line option that looks like: -numa node,nodeid=...,cpus=0,2,4,mem=... ^ But this format was never supported by qemu. This format is even a bit weird, as , is an option separator, and it is being used as a separator _inside_ an option. Exactly this was the reason back then to not support non-contiguous set of CPUs. Inside qemu there is no reason why this shouldn't work, it was just hard to write on the command line. So after a short discussion we decided to drop this for the time being. If you have a great idea how to specify this (I think a comma will not work, because it will be catched earlier), I am all ears. Lets just use a ';' or ':' as the seperator instead ? Sounds like a better option, instead of making the -numa option parsing be different from all other options. I was just wondering if it was worth making some effort to make qemu compatible with the current libvirt code. (I am inclined to say it is not worth it, as it never worked before) -- Eduardo
Re: [Qemu-devel] qemu -numa option and non-contiguous CPU ranges
On 06/21/2012 07:51 PM, Eduardo Habkost wrote: Hi, I just noticed libvirt tries to use the -numa option in a way that qemu never understood: if a node is configured to have a non-contiguous set of CPUs, it tries to generate a command-line option that looks like: -numa node,nodeid=...,cpus=0,2,4,mem=... ^ But this format was never supported by qemu. This format is even a bit weird, as , is an option separator, and it is being used as a separator _inside_ an option. Exactly this was the reason back then to not support non-contiguous set of CPUs. Inside qemu there is no reason why this shouldn't work, it was just hard to write on the command line. So after a short discussion we decided to drop this for the time being. If you have a great idea how to specify this (I think a comma will not work, because it will be catched earlier), I am all ears. Regards, Andre. My question is: should we support this option format in qemu, or should we change libvirt to use another format (that has yet to be implemented, because currently there's no way to specify a non-contiguous set of CPUs for a NUMA node). Any suggestions? -- Andre Przywara AMD-Operating System Research Center (OSRC), Dresden, Germany