[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 84/86] tests:numa-test: use explicit memdev to specify node RAM
From: |
Igor Mammedov |
Subject: |
[PATCH 84/86] tests:numa-test: use explicit memdev to specify node RAM |
Date: |
Tue, 31 Dec 2019 14:04:08 +0100 |
Follow up patches will remove automatic RAM distribution
between nodes and will make default machine types require
"memdev" option instead of legacy "mem" option.
Make tests to follow new rules and add an additional test
for legacy "mem" option on old machine type, to make sure
it won't regress in the future.
Signed-off-by: Igor Mammedov <address@hidden>
---
tests/numa-test.c | 52 ++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 38 insertions(+), 14 deletions(-)
diff --git a/tests/numa-test.c b/tests/numa-test.c
index 6f7aab9..4d27220 100644
--- a/tests/numa-test.c
+++ b/tests/numa-test.c
@@ -25,9 +25,8 @@ static void test_mon_explicit(const void *data)
g_autofree char *s = NULL;
g_autofree char *cli = NULL;
- cli = make_cli(data, "-smp 8 "
- "-numa node,nodeid=0,cpus=0-3 "
- "-numa node,nodeid=1,cpus=4-7 ");
+ cli = make_cli(data, "-smp 8 -numa node,nodeid=0,memdev=ram,cpus=0-3 "
+ "-numa node,nodeid=1,cpus=4-7");
qts = qtest_init(cli);
s = qtest_hmp(qts, "info numa");
@@ -37,13 +36,13 @@ static void test_mon_explicit(const void *data)
qtest_quit(qts);
}
-static void test_mon_default(const void *data)
+static void test_def_cpu_split(const void *data)
{
QTestState *qts;
g_autofree char *s = NULL;
g_autofree char *cli = NULL;
- cli = make_cli(data, "-smp 8 -numa node -numa node");
+ cli = make_cli(data, "-smp 8 -numa node,memdev=ram -numa node");
qts = qtest_init(cli);
s = qtest_hmp(qts, "info numa");
@@ -53,6 +52,23 @@ static void test_mon_default(const void *data)
qtest_quit(qts);
}
+static void test_pc_legacy_mem(const void *data)
+{
+ QTestState *qts;
+ g_autofree char *s = NULL;
+ g_autofree char *cli = NULL;
+
+ cli = make_cli(data, "-M pc-i440fx-4.2 -smp 8 "
+ "-numa node,mem=64M -numa node,mem=64M");
+ qts = qtest_init(cli);
+
+ s = qtest_hmp(qts, "info numa");
+ g_assert(strstr(s, "node 0 size: 64 MB"));
+ g_assert(strstr(s, "node 1 size: 64 MB"));
+
+ qtest_quit(qts);
+}
+
static void test_mon_partial(const void *data)
{
QTestState *qts;
@@ -60,7 +76,7 @@ static void test_mon_partial(const void *data)
g_autofree char *cli = NULL;
cli = make_cli(data, "-smp 8 "
- "-numa node,nodeid=0,cpus=0-1 "
+ "-numa node,nodeid=0,memdev=ram,cpus=0-1 "
"-numa node,nodeid=1,cpus=4-5 ");
qts = qtest_init(cli);
@@ -87,7 +103,8 @@ static void test_query_cpus(const void *data)
QTestState *qts;
g_autofree char *cli = NULL;
- cli = make_cli(data, "-smp 8 -numa node,cpus=0-3 -numa node,cpus=4-7");
+ cli = make_cli(data, "-smp 8 -numa node,memdev=ram,cpus=0-3 "
+ "-numa node,cpus=4-7");
qts = qtest_init(cli);
cpus = get_cpus(qts, &resp);
g_assert(cpus);
@@ -125,7 +142,7 @@ static void pc_numa_cpu(const void *data)
g_autofree char *cli = NULL;
cli = make_cli(data, "-cpu pentium -smp 8,sockets=2,cores=2,threads=2 "
- "-numa node,nodeid=0 -numa node,nodeid=1 "
+ "-numa node,nodeid=0,memdev=ram -numa node,nodeid=1 "
"-numa cpu,node-id=1,socket-id=0 "
"-numa cpu,node-id=0,socket-id=1,core-id=0 "
"-numa cpu,node-id=0,socket-id=1,core-id=1,thread-id=0 "
@@ -178,7 +195,7 @@ static void spapr_numa_cpu(const void *data)
g_autofree char *cli = NULL;
cli = make_cli(data, "-smp 4,cores=4 "
- "-numa node,nodeid=0 -numa node,nodeid=1 "
+ "-numa node,nodeid=0,memdev=ram -numa node,nodeid=1 "
"-numa cpu,node-id=0,core-id=0 "
"-numa cpu,node-id=0,core-id=1 "
"-numa cpu,node-id=0,core-id=2 "
@@ -223,7 +240,7 @@ static void aarch64_numa_cpu(const void *data)
g_autofree char *cli = NULL;
cli = make_cli(data, "-smp 2 "
- "-numa node,nodeid=0 -numa node,nodeid=1 "
+ "-numa node,nodeid=0,memdev=ram -numa node,nodeid=1 "
"-numa cpu,node-id=1,thread-id=0 "
"-numa cpu,node-id=0,thread-id=1");
qts = qtest_init(cli);
@@ -263,13 +280,14 @@ static void pc_dynamic_cpu_cfg(const void *data)
QDict *resp;
QList *cpus;
QTestState *qs;
+ g_autofree char *cli = NULL;
- qs = qtest_initf("%s -nodefaults --preconfig -smp 2",
- data ? (char *)data : "");
+ cli = make_cli(data, "-nodefaults --preconfig -smp 2");
+ qs = qtest_init(cli);
/* create 2 numa nodes */
g_assert(!qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'set-numa-node',"
- " 'arguments': { 'type': 'node', 'nodeid': 0 } }")));
+ " 'arguments': { 'type': 'node', 'nodeid': 0, 'memdev': 'ram' } }")));
g_assert(!qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'set-numa-node',"
" 'arguments': { 'type': 'node', 'nodeid': 1 } }")));
@@ -325,10 +343,15 @@ int main(int argc, char **argv)
if (strcmp(arch, "aarch64") == 0) {
g_string_append(args, " -machine virt");
}
+ if (!strcmp(arch, "ppc64")) {
+ g_string_append(args, " -object memory-backend-ram,id=ram,size=512M");
+ } else {
+ g_string_append(args, " -object memory-backend-ram,id=ram,size=128M");
+ }
g_test_init(&argc, &argv, NULL);
- qtest_add_data_func("/numa/mon/default", args, test_mon_default);
+ qtest_add_data_func("/numa/mon/cpus/default", args, test_def_cpu_split);
qtest_add_data_func("/numa/mon/cpus/explicit", args, test_mon_explicit);
qtest_add_data_func("/numa/mon/cpus/partial", args, test_mon_partial);
qtest_add_data_func("/numa/qmp/cpus/query-cpus", args, test_query_cpus);
@@ -336,6 +359,7 @@ int main(int argc, char **argv)
if (!strcmp(arch, "i386") || !strcmp(arch, "x86_64")) {
qtest_add_data_func("/numa/pc/cpu/explicit", args, pc_numa_cpu);
qtest_add_data_func("/numa/pc/dynamic/cpu", args, pc_dynamic_cpu_cfg);
+ qtest_add_data_func("/numa/pc/legacy/mem", args, test_pc_legacy_mem);
}
if (!strcmp(arch, "ppc64")) {
--
2.7.4
- [PATCH 73/86] sparc:sun4m: use memdev for RAM, (continued)
- [PATCH 73/86] sparc:sun4m: use memdev for RAM, Igor Mammedov, 2019/12/31
- [PATCH 75/86] remove no longer used memory_region_allocate_system_memory(), Igor Mammedov, 2019/12/31
- [PATCH 76/86] post conversion default_ram_id cleanup, Igor Mammedov, 2019/12/31
- [PATCH 77/86] exec: cleanup qemu_minrampagesize()/qemu_maxrampagesize(), Igor Mammedov, 2019/12/31
- [PATCH 78/86] exec: drop bogus mem_path from qemu_ram_alloc_from_fd(), Igor Mammedov, 2019/12/31
- [PATCH 80/86] hostmem: introduce "prealloc-threads" property, Igor Mammedov, 2019/12/31
- [PATCH 83/86] tests:numa-test: make top level args dynamic and g_autofree(cli) cleanups, Igor Mammedov, 2019/12/31
- [PATCH 79/86] make mem_path local variable, Igor Mammedov, 2019/12/31
- [PATCH 85/86] numa: make exit() usage consistent, Igor Mammedov, 2019/12/31
- [PATCH 84/86] tests:numa-test: use explicit memdev to specify node RAM,
Igor Mammedov <=
- [PATCH 82/86] numa: forbid '-numa node, mem' for 5.0 and newer machine types, Igor Mammedov, 2019/12/31
- [PATCH 81/86] hostmem: fix strict bind policy, Igor Mammedov, 2019/12/31
- [PATCH 86/86] numa: remove deprecated implicit RAM distribution between nodes, Igor Mammedov, 2019/12/31
- [PATCH 17/86] arm:imx25_pdk: drop RAM size fixup, Igor Mammedov, 2019/12/31
- [PATCH 38/86] arm:xlnx-versal-virt: use memdev for RAM, Igor Mammedov, 2019/12/31
- Re: [PATCH 00/86] refactor main RAM allocation to use hostmem backend, Philippe Mathieu-Daudé, 2019/12/31