numa: Reject configuration if not all node IDs are present
We don't support sparse NUMA node IDs yet, so this changes QEMU to reject configs where not all nodes are present. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
1945b9d8b0
commit
12d6e4640c
17
numa.c
17
numa.c
@ -160,9 +160,24 @@ error:
|
|||||||
|
|
||||||
void set_numa_nodes(void)
|
void set_numa_nodes(void)
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
assert(max_numa_nodeid <= MAX_NODES);
|
||||||
|
|
||||||
|
/* No support for sparse NUMA node IDs yet: */
|
||||||
|
for (i = max_numa_nodeid - 1; i >= 0; i--) {
|
||||||
|
/* Report large node IDs first, to make mistakes easier to spot */
|
||||||
|
if (!numa_info[i].present) {
|
||||||
|
error_report("numa: Node ID missing: %d", i);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This must be always true if all nodes are present: */
|
||||||
|
assert(nb_numa_nodes == max_numa_nodeid);
|
||||||
|
|
||||||
if (nb_numa_nodes > 0) {
|
if (nb_numa_nodes > 0) {
|
||||||
uint64_t numa_total;
|
uint64_t numa_total;
|
||||||
int i;
|
|
||||||
|
|
||||||
if (nb_numa_nodes > MAX_NODES) {
|
if (nb_numa_nodes > MAX_NODES) {
|
||||||
nb_numa_nodes = MAX_NODES;
|
nb_numa_nodes = MAX_NODES;
|
||||||
|
Loading…
Reference in New Issue
Block a user