On Thu, Apr 11, 2013 at 05:17:29PM +0200, Igor Mammedov wrote: [...] > > > > Now, my question is: suppose a caller starts QEMU as: > > > > $ qemu -smp 18,cores=3,threads=3,maxcpus=36 \ > > -numa node,cpus=0-8 -numa node,cpus=9-17 \ > > -numa node,cpus=18-26 -numa node,cpus=27-35 > > > > and the caller wants to hot-add all VCPUs in the last CPU socket (that > > means: all the VCPUs in the last NUMA node, that means: CPU indexes > > 27-35). What should the caller do to find out which of the > > /machine/icc-bridge/cpu[0..N] links/IDs really correspond to those > > VCPUs? > If one wants plug in a specific CPU, It won't work with -numa yet.
OK, documenting it as unsupported by now would be enough to me. :-) It looks like -numa is the only interface that requires CPUs to be individually identified in the command-line, right? > > to make it work we need to specify sockets on -numa cmd. line and then > construct synthetic QOM containers tree that could looklike: > > /machine/numa_nodes/[0..N]/sockets/[0..M]/cpus/[0..X] > > then command line could look like: > $ qemu -smp 18,cores=3,threads=3,maxcpus=36 \ > -numa node,sockets=0-1 -numa node,sockets=2-3 Makes sense to me. Using socket numbers is one way of making the CPU identifiers be topology-based (as mentioned on a previous message), and also make it stricter to allow only topologies that actually make sense for a "/machine/numa_nodes/.../sockets/.../threads/..." tree. > [...] -- Eduardo