Chegu Vinod
ee785fed5d
Fixes related to processing of qemu's -numa option
The -numa option to qemu is used to create [fake] numa nodes
and expose them to the guest OS instance.
There are a couple of issues with the -numa option:
a) Max VCPU's that can be specified for a guest while using
the qemu's -numa option is 64. Due to a typecasting issue
when the number of VCPUs is > 32 the VCPUs don't show up
under the specified [fake] numa nodes.
b) KVM currently has support for 160VCPUs per guest. The
qemu's -numa option has only support for upto 64VCPUs
per guest.
This patch addresses these two issues.
Below are examples of (a) and (b)
a) >32 VCPUs are specified with the -numa option:
/usr/local/bin/qemu-system-x86_64 \
-enable-kvm \
71:01:01 \
-net tap,ifname=tap0,script=no,downscript=no \
-vnc :4
...
Upstream qemu :
--------------
QEMU 1.1.50 monitor - type 'help' for more information
(qemu) info numa
6 nodes
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 32 33 34 35 36 37 38 39 40 41
node 0 size: 131072 MB
node 1 cpus: 10 11 12 13 14 15 16 17 18 19 42 43 44 45 46 47 48 49 50 51
node 1 size: 131072 MB
node 2 cpus: 20 21 22 23 24 25 26 27 28 29 52 53 54 55 56 57 58 59
node 2 size: 131072 MB
node 3 cpus: 30
node 3 size: 131072 MB
node 4 cpus:
node 4 size: 131072 MB
node 5 cpus: 31
node 5 size: 131072 MB
With the patch applied :
-----------------------
QEMU 1.1.50 monitor - type 'help' for more information
(qemu) info numa
6 nodes
node 0 cpus: 0 1 2 3 4 5 6 7 8 9
node 0 size: 131072 MB
node 1 cpus: 10 11 12 13 14 15 16 17 18 19
node 1 size: 131072 MB
node 2 cpus: 20 21 22 23 24 25 26 27 28 29
node 2 size: 131072 MB
node 3 cpus: 30 31 32 33 34 35 36 37 38 39
node 3 size: 131072 MB
node 4 cpus: 40 41 42 43 44 45 46 47 48 49
node 4 size: 131072 MB
node 5 cpus: 50 51 52 53 54 55 56 57 58 59
node 5 size: 131072 MB
b) >64 VCPUs specified with -numa option:
/usr/local/bin/qemu-system-x86_64 \
-enable-kvm \
-cpu Westmere,+rdtscp,+pdpe1gb,+dca,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pclmuldq,+pbe,+tm,+ht,+ss,+acpi,+d-vnc :4
...
Upstream qemu :
--------------
only 63 CPUs in NUMA mode supported.
only 64 CPUs in NUMA mode supported.
QEMU 1.1.50 monitor - type 'help' for more information
(qemu) info numa
8 nodes
node 0 cpus: 6 7 8 9 38 39 40 41 70 71 72 73
node 0 size: 65536 MB
node 1 cpus: 10 11 12 13 14 15 16 17 18 19 42 43 44 45 46 47 48 49 50 51 74 75 76 77 78 79
node 1 size: 65536 MB
node 2 cpus: 20 21 22 23 24 25 26 27 28 29 52 53 54 55 56 57 58 59 60 61
node 2 size: 65536 MB
node 3 cpus: 30 62
node 3 size: 65536 MB
node 4 cpus:
node 4 size: 65536 MB
node 5 cpus:
node 5 size: 65536 MB
node 6 cpus: 31 63
node 6 size: 65536 MB
node 7 cpus: 0 1 2 3 4 5 32 33 34 35 36 37 64 65 66 67 68 69
node 7 size: 65536 MB
With the patch applied :
-----------------------
QEMU 1.1.50 monitor - type 'help' for more information
(qemu) info numa
8 nodes
node 0 cpus: 0 1 2 3 4 5 6 7 8 9
node 0 size: 65536 MB
node 1 cpus: 10 11 12 13 14 15 16 17 18 19
node 1 size: 65536 MB
node 2 cpus: 20 21 22 23 24 25 26 27 28 29
node 2 size: 65536 MB
node 3 cpus: 30 31 32 33 34 35 36 37 38 39
node 3 size: 65536 MB
node 4 cpus: 40 41 42 43 44 45 46 47 48 49
node 4 size: 65536 MB
node 5 cpus: 50 51 52 53 54 55 56 57 58 59
node 5 size: 65536 MB
node 6 cpus: 60 61 62 63 64 65 66 67 68 69
node 6 size: 65536 MB
node 7 cpus: 70 71 72 73 74 75 76 77 78 79
Signed-off-by: Chegu Vinod <chegu_vinod@hp.com>, Jim Hull <jim.hull@hp.com>, Craig Hada <craig.hada@hp.com>
Tested-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-04 13:23:58 +00:00
..
2012-07-31 22:01:40 +05:30
2012-07-20 14:30:09 +01:00
2012-07-29 17:05:35 +03:00
2012-07-27 21:13:02 +00:00
2012-06-27 16:33:25 -05:00
2012-08-01 13:32:10 +01:00
2012-07-04 15:52:55 +03:00
2012-08-01 08:45:06 -05:00
2012-07-10 11:31:09 +03:00
2012-07-10 11:31:09 +03:00
2012-08-01 08:45:06 -05:00
2012-07-20 13:34:50 +01:00
2012-07-20 13:34:49 +01:00
2012-07-17 16:48:32 +02:00
2012-07-17 16:48:32 +02:00
2012-07-28 09:23:11 +00:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-07-04 15:52:55 +03:00
2012-07-28 09:18:25 +00:00
2012-08-03 10:04:37 +02:00
2012-08-01 13:32:10 +01:00
2012-08-01 12:56:15 +01:00
2012-07-20 14:30:09 +01:00
2012-07-04 10:43:30 +00:00
2012-07-04 10:43:31 +00:00
2012-07-20 14:18:24 +01:00
2012-07-20 14:30:09 +01:00
2012-07-20 14:30:09 +01:00
2012-07-17 16:48:32 +02:00
2012-07-17 16:48:29 +02:00
2012-07-17 16:48:32 +02:00
2012-08-01 12:56:15 +01:00
2012-07-17 16:48:30 +02:00
2012-07-12 10:59:53 +00:00
2012-07-04 10:43:33 +00:00
2012-07-04 10:43:33 +00:00
2012-07-04 10:43:33 +00:00
2012-07-04 10:43:33 +00:00
2012-08-01 12:56:15 +01:00
2012-07-29 17:05:35 +03:00
2012-07-04 15:52:55 +03:00
2012-07-29 17:05:35 +03:00
2012-08-01 12:56:15 +01:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-07-30 10:00:48 -05:00
2012-07-17 16:48:32 +02:00
2012-08-01 12:56:15 +01:00
2012-08-01 13:32:10 +01:00
2012-08-03 10:04:37 +02:00
2012-08-03 10:04:37 +02:00
2012-08-01 13:32:10 +01:00
2012-08-02 13:16:42 -05:00
2012-08-01 12:56:15 +01:00
2012-08-01 12:56:15 +01:00
2012-08-01 13:32:10 +01:00
2012-07-19 17:56:42 +03:00
2012-07-19 17:56:42 +03:00
2012-07-19 17:56:42 +03:00
2012-07-19 17:56:42 +03:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-07-14 10:36:24 +00:00
2012-08-01 13:32:10 +01:00
2012-07-27 21:13:01 +00:00
2012-08-01 12:56:15 +01:00
2012-07-27 21:13:02 +00:00
2012-08-04 13:23:58 +00:00
2012-07-04 15:52:55 +03:00
2012-07-29 17:05:35 +03:00
2012-07-04 15:52:55 +03:00
2012-07-14 10:13:29 +00:00
2012-07-29 17:05:35 +03:00
2012-07-14 10:12:59 +00:00
2012-07-29 17:05:35 +03:00
2012-07-29 17:05:35 +03:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-07-19 17:15:42 +03:00
2012-07-20 13:34:49 +01:00
2012-07-21 10:54:40 +01:00
2012-06-27 16:33:25 -05:00
2012-08-02 13:16:42 -05:00
2012-08-01 13:32:10 +01:00
2012-08-01 12:56:15 +01:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-07-17 16:48:30 +02:00
2012-08-03 21:55:03 +02:00
2012-08-03 21:55:03 +02:00
2012-08-03 10:01:35 +02:00
2012-07-02 10:18:41 +02:00
2012-07-27 08:25:26 +02:00
2012-07-14 10:37:01 +00:00
2012-08-01 13:32:10 +01:00
2012-06-27 16:33:26 -05:00
2012-08-01 13:32:10 +01:00
2012-07-21 10:54:40 +01:00
2012-06-27 16:33:26 -05:00
2012-06-27 16:33:25 -05:00
2012-06-27 16:33:25 -05:00
2012-06-27 16:33:25 -05:00
2012-06-27 16:33:25 -05:00
2012-06-27 16:33:25 -05:00
2012-06-27 16:33:26 -05:00
2012-08-01 13:32:10 +01:00
2012-07-17 16:48:32 +02:00
2012-08-01 12:56:15 +01:00
2012-07-14 10:50:52 +00:00
2012-07-14 10:50:52 +00:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-07-12 14:08:10 +03:00
2012-07-09 12:35:06 -05:00
2012-07-17 16:48:32 +02:00
2012-07-17 16:48:32 +02:00
2012-08-01 13:32:10 +01:00
2012-07-30 10:00:48 -05:00
2012-07-27 08:25:27 +02:00
2012-07-09 12:35:06 -05:00
2012-07-12 14:08:11 +03:00
2012-07-18 14:44:50 -05:00
2012-07-28 09:23:11 +00:00
2012-08-02 13:16:42 -05:00
2012-07-04 15:52:55 +03:00
2012-08-04 07:54:15 -05:00
2012-08-04 07:54:15 -05:00
2012-08-01 13:32:10 +01:00
2012-08-01 08:43:37 -05:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-08-01 13:32:10 +01:00
2012-07-04 15:52:55 +03:00
2012-07-04 15:52:55 +03:00
2012-08-01 12:56:15 +01:00