qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

tests:numa-test: use explicit memdev to specify node RAM

Considering that legacy "mem" option is deprecated, use memdev
in tests 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 <imammedo@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20200219160953.13771-80-imammedo@redhat.com>

authored by

Igor Mammedov and committed by
Patchew Importer
9584b564 786ed5c4

+18 -12
+18 -12
tests/qtest/numa-test.c
··· 25 25 g_autofree char *s = NULL; 26 26 g_autofree char *cli = NULL; 27 27 28 - cli = make_cli(data, "-smp 8 " 29 - "-numa node,nodeid=0,cpus=0-3 " 30 - "-numa node,nodeid=1,cpus=4-7 "); 28 + cli = make_cli(data, "-smp 8 -numa node,nodeid=0,memdev=ram,cpus=0-3 " 29 + "-numa node,nodeid=1,cpus=4-7"); 31 30 qts = qtest_init(cli); 32 31 33 32 s = qtest_hmp(qts, "info numa"); ··· 37 36 qtest_quit(qts); 38 37 } 39 38 40 - static void test_mon_default(const void *data) 39 + static void test_def_cpu_split(const void *data) 41 40 { 42 41 QTestState *qts; 43 42 g_autofree char *s = NULL; 44 43 g_autofree char *cli = NULL; 45 44 46 - cli = make_cli(data, "-smp 8 -numa node -numa node"); 45 + cli = make_cli(data, "-smp 8 -numa node,memdev=ram -numa node"); 47 46 qts = qtest_init(cli); 48 47 49 48 s = qtest_hmp(qts, "info numa"); ··· 60 59 g_autofree char *cli = NULL; 61 60 62 61 cli = make_cli(data, "-smp 8 " 63 - "-numa node,nodeid=0,cpus=0-1 " 62 + "-numa node,nodeid=0,memdev=ram,cpus=0-1 " 64 63 "-numa node,nodeid=1,cpus=4-5 "); 65 64 qts = qtest_init(cli); 66 65 ··· 87 86 QTestState *qts; 88 87 g_autofree char *cli = NULL; 89 88 90 - cli = make_cli(data, "-smp 8 -numa node,cpus=0-3 -numa node,cpus=4-7"); 89 + cli = make_cli(data, "-smp 8 -numa node,memdev=ram,cpus=0-3 " 90 + "-numa node,cpus=4-7"); 91 91 qts = qtest_init(cli); 92 92 cpus = get_cpus(qts, &resp); 93 93 g_assert(cpus); ··· 125 125 g_autofree char *cli = NULL; 126 126 127 127 cli = make_cli(data, "-cpu pentium -smp 8,sockets=2,cores=2,threads=2 " 128 - "-numa node,nodeid=0 -numa node,nodeid=1 " 128 + "-numa node,nodeid=0,memdev=ram -numa node,nodeid=1 " 129 129 "-numa cpu,node-id=1,socket-id=0 " 130 130 "-numa cpu,node-id=0,socket-id=1,core-id=0 " 131 131 "-numa cpu,node-id=0,socket-id=1,core-id=1,thread-id=0 " ··· 178 178 g_autofree char *cli = NULL; 179 179 180 180 cli = make_cli(data, "-smp 4,cores=4 " 181 - "-numa node,nodeid=0 -numa node,nodeid=1 " 181 + "-numa node,nodeid=0,memdev=ram -numa node,nodeid=1 " 182 182 "-numa cpu,node-id=0,core-id=0 " 183 183 "-numa cpu,node-id=0,core-id=1 " 184 184 "-numa cpu,node-id=0,core-id=2 " ··· 223 223 g_autofree char *cli = NULL; 224 224 225 225 cli = make_cli(data, "-smp 2 " 226 - "-numa node,nodeid=0 -numa node,nodeid=1 " 226 + "-numa node,nodeid=0,memdev=ram -numa node,nodeid=1 " 227 227 "-numa cpu,node-id=1,thread-id=0 " 228 228 "-numa cpu,node-id=0,thread-id=1"); 229 229 qts = qtest_init(cli); ··· 270 270 271 271 /* create 2 numa nodes */ 272 272 g_assert(!qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'set-numa-node'," 273 - " 'arguments': { 'type': 'node', 'nodeid': 0 } }"))); 273 + " 'arguments': { 'type': 'node', 'nodeid': 0, 'memdev': 'ram' } }"))); 274 274 g_assert(!qmp_rsp_is_err(qtest_qmp(qs, "{ 'execute': 'set-numa-node'," 275 275 " 'arguments': { 'type': 'node', 'nodeid': 1 } }"))); 276 276 ··· 542 542 g_autoptr(GString) args = g_string_new(NULL); 543 543 const char *arch = qtest_get_arch(); 544 544 545 + if (g_str_equal(arch, "ppc64")) { 546 + g_string_append(args, " -object memory-backend-ram,id=ram,size=512M"); 547 + } else { 548 + g_string_append(args, " -object memory-backend-ram,id=ram,size=128M"); 549 + } 550 + 545 551 if (g_str_equal(arch, "aarch64")) { 546 552 g_string_append(args, " -machine virt"); 547 553 } 548 554 549 555 g_test_init(&argc, &argv, NULL); 550 556 551 - qtest_add_data_func("/numa/mon/default", args, test_mon_default); 557 + qtest_add_data_func("/numa/mon/cpus/default", args, test_def_cpu_split); 552 558 qtest_add_data_func("/numa/mon/cpus/explicit", args, test_mon_explicit); 553 559 qtest_add_data_func("/numa/mon/cpus/partial", args, test_mon_partial); 554 560 qtest_add_data_func("/numa/qmp/cpus/query-cpus", args, test_query_cpus);