[libvirt] [PATCH 00/23] Pre-CAT preparation patches (mostly trivial, I promise)

Don't get pushed away just because it is 23 patches. They are almost one-liners. Just a lot of stuff I got dragged into, lot of rabbit holes where I reached the end, basically lot of side fixes. That's mostly due to one of the bigger changes being removed from the series completely about two days ago when I realized I'm not spending week of fixing terribly tricky stuff just so we can test one more teeny tiny thing that's not even needed (which I realized way too late). The patches are available on github: https://github.com/nertpinx/libvirt -- branch pre-cat The patches should be *really* nice to review, and there's lot of cleanups. The only reason for this patch-series to add more lines than remove them, is because it adds tests. And tests are good and yummy. Me like tests... Yeah, I guess it's Friday, 8PM. I should go home... Bye. Martin Kletzander (23): Add virNumaGetNodeCPUs to private syms Introduce virCPUProbeHost Expose virCapabilitiesFreeGuest vmware: Fix some initialization problems cpu: Don't use prefixes for no reason syms: Add one newline to make things consistent tests: Fix indentation in virhostcputest vz: Do not use magic constants when building capabilities Separate syms based on files they are defined in openvz: Ditch openvzGetNodeCPUs tests: Remove some unneeded files virfile: Add helpers for reading simple values tests: Add cpu/{online,present} files for old tests util: Add virsysfs for handling sysfs files util: Adapt virhostcpu to the new virsysfs Move src/fdstream to src/util/virfdstream Remove src/nodeinfo util: Fix naming in util/virnodesuspend Change virQEMUCapsInitPages to virCapabilitiesInitPages tests: Add sysfs node/cpu topology for the only vircaps2xml testcase tests: Add linux-caches sysfs entries for vircaps2xmltest tests: Add virnumamock tests: Enhance vircaps2xml test cfg.mk | 2 +- po/POTFILES.in | 3 +- src/Makefile.am | 7 +- src/bhyve/bhyve_capabilities.c | 20 +- src/bhyve/bhyve_driver.c | 7 +- src/conf/capabilities.c | 317 +++++++++++++++- src/conf/capabilities.h | 9 + src/conf/virchrdev.c | 2 +- src/cpu/cpu.c | 15 +- src/cpu/cpu.h | 5 +- src/libvirt_linux.syms | 1 - src/libvirt_private.syms | 93 +++-- src/libxl/libxl_migration.c | 2 +- src/lxc/lxc_conf.c | 3 +- src/lxc/lxc_driver.c | 7 +- src/nodeinfo.c | 418 --------------------- src/openvz/openvz_conf.c | 17 +- src/openvz/openvz_conf.h | 1 - src/openvz/openvz_driver.c | 5 +- src/phyp/phyp_driver.c | 3 +- src/qemu/qemu_capabilities.c | 43 +-- src/qemu/qemu_conf.c | 1 - src/qemu/qemu_driver.c | 7 +- src/qemu/qemu_migration.c | 2 +- src/storage/storage_driver.c | 2 +- src/storage/storage_util.c | 2 +- src/test/test_driver.c | 2 +- src/uml/uml_conf.c | 3 +- src/uml/uml_driver.c | 7 +- src/{fdstream.c => util/virfdstream.c} | 4 +- src/{fdstream.h => util/virfdstream.h} | 2 +- src/util/virfile.c | 83 ++++ src/util/virfile.h | 6 + src/util/virhostcpu.c | 345 +++++------------ src/util/virhostcpu.h | 7 +- src/util/virhostcpupriv.h | 2 - src/util/virnodesuspend.c | 20 +- src/util/virnodesuspend.h | 6 +- src/util/virsysfs.c | 229 +++++++++++ src/util/virsysfs.h | 70 ++++ src/{nodeinfo.h => util/virsysfspriv.h} | 18 +- src/vbox/vbox_common.c | 7 +- src/vmware/vmware_conf.c | 20 +- src/vz/vz_driver.c | 16 +- src/vz/vz_sdk.c | 1 - src/xen/xen_driver.c | 5 +- tests/Makefile.am | 7 + tests/commandtest.c | 1 - tests/fdstreamtest.c | 2 +- .../linux-basic/cpu/cpu0/topology/core_id} | 0 .../linux-basic/cpu/cpu0/topology/core_siblings | 1 + .../cpu/cpu0/topology/core_siblings_list | 1 + .../cpu/cpu0/topology/physical_package_id} | 0 .../linux-basic/cpu/cpu0/topology/thread_siblings | 1 + .../cpu/cpu0/topology/thread_siblings_list} | 0 .../linux-basic/cpu/cpu1/topology/core_id | 1 + .../linux-basic/cpu/cpu1/topology/core_siblings | 1 + .../cpu/cpu1/topology/core_siblings_list | 1 + .../cpu/cpu1/topology/physical_package_id} | 0 .../linux-basic/cpu/cpu1/topology/thread_siblings | 1 + .../cpu/cpu1/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu10/topology/core_id | 1 + .../linux-basic/cpu/cpu10/topology/core_siblings | 1 + .../cpu/cpu10/topology/core_siblings_list | 1 + .../cpu/cpu10/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu10/topology/thread_siblings | 1 + .../cpu/cpu10/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu11/topology/core_id | 1 + .../linux-basic/cpu/cpu11/topology/core_siblings | 1 + .../cpu/cpu11/topology/core_siblings_list | 1 + .../cpu/cpu11/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu11/topology/thread_siblings | 1 + .../cpu/cpu11/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu12/topology/core_id | 1 + .../linux-basic/cpu/cpu12/topology/core_siblings | 1 + .../cpu/cpu12/topology/core_siblings_list | 1 + .../cpu/cpu12/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu12/topology/thread_siblings | 1 + .../cpu/cpu12/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu13/topology/core_id | 1 + .../linux-basic/cpu/cpu13/topology/core_siblings | 1 + .../cpu/cpu13/topology/core_siblings_list | 1 + .../cpu/cpu13/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu13/topology/thread_siblings | 1 + .../cpu/cpu13/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu14/topology/core_id | 1 + .../linux-basic/cpu/cpu14/topology/core_siblings | 1 + .../cpu/cpu14/topology/core_siblings_list | 1 + .../cpu/cpu14/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu14/topology/thread_siblings | 1 + .../cpu/cpu14/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu15/topology/core_id | 1 + .../linux-basic/cpu/cpu15/topology/core_siblings | 1 + .../cpu/cpu15/topology/core_siblings_list | 1 + .../cpu/cpu15/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu15/topology/thread_siblings | 1 + .../cpu/cpu15/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu2/topology/core_id | 1 + .../linux-basic/cpu/cpu2/topology/core_siblings | 1 + .../cpu/cpu2/topology/core_siblings_list | 1 + .../cpu/cpu2/topology/physical_package_id} | 0 .../linux-basic/cpu/cpu2/topology/thread_siblings | 1 + .../cpu/cpu2/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu3/topology/core_id | 1 + .../linux-basic/cpu/cpu3/topology/core_siblings | 1 + .../cpu/cpu3/topology/core_siblings_list | 1 + .../cpu/cpu3/topology/physical_package_id} | 0 .../linux-basic/cpu/cpu3/topology/thread_siblings | 1 + .../cpu/cpu3/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu4/topology/core_id | 1 + .../linux-basic/cpu/cpu4/topology/core_siblings | 1 + .../cpu/cpu4/topology/core_siblings_list | 1 + .../cpu/cpu4/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu4/topology/thread_siblings | 1 + .../cpu/cpu4/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu5/topology/core_id | 1 + .../linux-basic/cpu/cpu5/topology/core_siblings | 1 + .../cpu/cpu5/topology/core_siblings_list | 1 + .../cpu/cpu5/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu5/topology/thread_siblings | 1 + .../cpu/cpu5/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu6/topology/core_id | 1 + .../linux-basic/cpu/cpu6/topology/core_siblings | 1 + .../cpu/cpu6/topology/core_siblings_list | 1 + .../cpu/cpu6/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu6/topology/thread_siblings | 1 + .../cpu/cpu6/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu7/topology/core_id | 1 + .../linux-basic/cpu/cpu7/topology/core_siblings | 1 + .../cpu/cpu7/topology/core_siblings_list | 1 + .../cpu/cpu7/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu7/topology/thread_siblings | 1 + .../cpu/cpu7/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu8/topology/core_id | 1 + .../linux-basic/cpu/cpu8/topology/core_siblings | 1 + .../cpu/cpu8/topology/core_siblings_list | 1 + .../cpu/cpu8/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu8/topology/thread_siblings | 1 + .../cpu/cpu8/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu9/topology/core_id | 1 + .../linux-basic/cpu/cpu9/topology/core_siblings | 1 + .../cpu/cpu9/topology/core_siblings_list | 1 + .../cpu/cpu9/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu9/topology/thread_siblings | 1 + .../cpu/cpu9/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/online | 1 + tests/vircaps2xmldata/linux-basic/cpu/present | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu0 | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu1 | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu2 | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu3 | 1 + .../vircaps2xmldata/linux-basic/node/node0/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu4 | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu5 | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu6 | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu7 | 1 + .../vircaps2xmldata/linux-basic/node/node1/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu10 | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu11 | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu8 | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu9 | 1 + .../vircaps2xmldata/linux-basic/node/node2/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu12 | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu13 | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu14 | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu15 | 1 + .../vircaps2xmldata/linux-basic/node/node3/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/online | 1 + tests/vircaps2xmldata/linux-basic/node/possible | 1 + .../linux-caches/cpu/cpu0/cache/index0/level | 1 + .../cpu/cpu0/cache/index0/shared_cpu_list | 1 + .../cpu/cpu0/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index0/size | 1 + .../linux-caches/cpu/cpu0/cache/index0/type | 1 + .../linux-caches/cpu/cpu0/cache/index1/level | 1 + .../cpu/cpu0/cache/index1/shared_cpu_list | 1 + .../cpu/cpu0/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index1/size | 1 + .../linux-caches/cpu/cpu0/cache/index1/type | 1 + .../linux-caches/cpu/cpu0/cache/index2/level | 1 + .../cpu/cpu0/cache/index2/shared_cpu_list | 1 + .../cpu/cpu0/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index2/size | 1 + .../linux-caches/cpu/cpu0/cache/index2/type | 1 + .../linux-caches/cpu/cpu0/cache/index3/level | 1 + .../cpu/cpu0/cache/index3/shared_cpu_list} | 0 .../cpu/cpu0/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index3/size | 1 + .../linux-caches/cpu/cpu0/cache/index3/type | 1 + .../linux-caches/cpu/cpu0/topology/core_id} | 0 .../linux-caches/cpu/cpu0/topology/core_siblings | 1 + .../cpu/cpu0/topology/core_siblings_list} | 0 .../cpu/cpu0/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu0/topology/thread_siblings | 1 + .../cpu/cpu0/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu1/cache/index0/level | 1 + .../cpu/cpu1/cache/index0/shared_cpu_list | 1 + .../cpu/cpu1/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index0/size | 1 + .../linux-caches/cpu/cpu1/cache/index0/type | 1 + .../linux-caches/cpu/cpu1/cache/index1/level | 1 + .../cpu/cpu1/cache/index1/shared_cpu_list | 1 + .../cpu/cpu1/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index1/size | 1 + .../linux-caches/cpu/cpu1/cache/index1/type | 1 + .../linux-caches/cpu/cpu1/cache/index2/level | 1 + .../cpu/cpu1/cache/index2/shared_cpu_list | 1 + .../cpu/cpu1/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index2/size | 1 + .../linux-caches/cpu/cpu1/cache/index2/type | 1 + .../linux-caches/cpu/cpu1/cache/index3/level | 1 + .../cpu/cpu1/cache/index3/shared_cpu_list} | 0 .../cpu/cpu1/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index3/size | 1 + .../linux-caches/cpu/cpu1/cache/index3/type | 1 + .../linux-caches/cpu/cpu1/topology/core_id | 1 + .../linux-caches/cpu/cpu1/topology/core_siblings | 1 + .../cpu/cpu1/topology/core_siblings_list} | 0 .../cpu/cpu1/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu1/topology/thread_siblings | 1 + .../cpu/cpu1/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu2/cache/index0/level | 1 + .../cpu/cpu2/cache/index0/shared_cpu_list | 1 + .../cpu/cpu2/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index0/size | 1 + .../linux-caches/cpu/cpu2/cache/index0/type | 1 + .../linux-caches/cpu/cpu2/cache/index1/level | 1 + .../cpu/cpu2/cache/index1/shared_cpu_list | 1 + .../cpu/cpu2/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index1/size | 1 + .../linux-caches/cpu/cpu2/cache/index1/type | 1 + .../linux-caches/cpu/cpu2/cache/index2/level | 1 + .../cpu/cpu2/cache/index2/shared_cpu_list | 1 + .../cpu/cpu2/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index2/size | 1 + .../linux-caches/cpu/cpu2/cache/index2/type | 1 + .../linux-caches/cpu/cpu2/cache/index3/level | 1 + .../cpu/cpu2/cache/index3/shared_cpu_list} | 0 .../cpu/cpu2/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index3/size | 1 + .../linux-caches/cpu/cpu2/cache/index3/type | 1 + .../linux-caches/cpu/cpu2/topology/core_id | 1 + .../linux-caches/cpu/cpu2/topology/core_siblings | 1 + .../cpu/cpu2/topology/core_siblings_list} | 0 .../cpu/cpu2/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu2/topology/thread_siblings | 1 + .../cpu/cpu2/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu3/cache/index0/level | 1 + .../cpu/cpu3/cache/index0/shared_cpu_list | 1 + .../cpu/cpu3/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index0/size | 1 + .../linux-caches/cpu/cpu3/cache/index0/type | 1 + .../linux-caches/cpu/cpu3/cache/index1/level | 1 + .../cpu/cpu3/cache/index1/shared_cpu_list | 1 + .../cpu/cpu3/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index1/size | 1 + .../linux-caches/cpu/cpu3/cache/index1/type | 1 + .../linux-caches/cpu/cpu3/cache/index2/level | 1 + .../cpu/cpu3/cache/index2/shared_cpu_list | 1 + .../cpu/cpu3/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index2/size | 1 + .../linux-caches/cpu/cpu3/cache/index2/type | 1 + .../linux-caches/cpu/cpu3/cache/index3/level | 1 + .../cpu/cpu3/cache/index3/shared_cpu_list} | 0 .../cpu/cpu3/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index3/size | 1 + .../linux-caches/cpu/cpu3/cache/index3/type | 1 + .../linux-caches/cpu/cpu3/topology/core_id | 1 + .../linux-caches/cpu/cpu3/topology/core_siblings | 1 + .../cpu/cpu3/topology/core_siblings_list} | 0 .../cpu/cpu3/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu3/topology/thread_siblings | 1 + .../cpu/cpu3/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu4/cache/index0/level | 1 + .../cpu/cpu4/cache/index0/shared_cpu_list | 1 + .../cpu/cpu4/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index0/size | 1 + .../linux-caches/cpu/cpu4/cache/index0/type | 1 + .../linux-caches/cpu/cpu4/cache/index1/level | 1 + .../cpu/cpu4/cache/index1/shared_cpu_list | 1 + .../cpu/cpu4/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index1/size | 1 + .../linux-caches/cpu/cpu4/cache/index1/type | 1 + .../linux-caches/cpu/cpu4/cache/index2/level | 1 + .../cpu/cpu4/cache/index2/shared_cpu_list | 1 + .../cpu/cpu4/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index2/size | 1 + .../linux-caches/cpu/cpu4/cache/index2/type | 1 + .../linux-caches/cpu/cpu4/cache/index3/level | 1 + .../cpu/cpu4/cache/index3/shared_cpu_list} | 0 .../cpu/cpu4/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index3/size | 1 + .../linux-caches/cpu/cpu4/cache/index3/type | 1 + .../linux-caches/cpu/cpu4/topology/core_id} | 0 .../linux-caches/cpu/cpu4/topology/core_siblings | 1 + .../cpu/cpu4/topology/core_siblings_list} | 0 .../cpu/cpu4/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu4/topology/thread_siblings | 1 + .../cpu/cpu4/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu5/cache/index0/level | 1 + .../cpu/cpu5/cache/index0/shared_cpu_list | 1 + .../cpu/cpu5/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index0/size | 1 + .../linux-caches/cpu/cpu5/cache/index0/type | 1 + .../linux-caches/cpu/cpu5/cache/index1/level | 1 + .../cpu/cpu5/cache/index1/shared_cpu_list | 1 + .../cpu/cpu5/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index1/size | 1 + .../linux-caches/cpu/cpu5/cache/index1/type | 1 + .../linux-caches/cpu/cpu5/cache/index2/level | 1 + .../cpu/cpu5/cache/index2/shared_cpu_list | 1 + .../cpu/cpu5/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index2/size | 1 + .../linux-caches/cpu/cpu5/cache/index2/type | 1 + .../linux-caches/cpu/cpu5/cache/index3/level | 1 + .../cpu/cpu5/cache/index3/shared_cpu_list} | 0 .../cpu/cpu5/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index3/size | 1 + .../linux-caches/cpu/cpu5/cache/index3/type | 1 + .../linux-caches/cpu/cpu5/topology/core_id | 1 + .../linux-caches/cpu/cpu5/topology/core_siblings | 1 + .../cpu/cpu5/topology/core_siblings_list} | 0 .../cpu/cpu5/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu5/topology/thread_siblings | 1 + .../cpu/cpu5/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu6/cache/index0/level | 1 + .../cpu/cpu6/cache/index0/shared_cpu_list | 1 + .../cpu/cpu6/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index0/size | 1 + .../linux-caches/cpu/cpu6/cache/index0/type | 1 + .../linux-caches/cpu/cpu6/cache/index1/level | 1 + .../cpu/cpu6/cache/index1/shared_cpu_list | 1 + .../cpu/cpu6/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index1/size | 1 + .../linux-caches/cpu/cpu6/cache/index1/type | 1 + .../linux-caches/cpu/cpu6/cache/index2/level | 1 + .../cpu/cpu6/cache/index2/shared_cpu_list | 1 + .../cpu/cpu6/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index2/size | 1 + .../linux-caches/cpu/cpu6/cache/index2/type | 1 + .../linux-caches/cpu/cpu6/cache/index3/level | 1 + .../cpu/cpu6/cache/index3/shared_cpu_list} | 0 .../cpu/cpu6/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index3/size | 1 + .../linux-caches/cpu/cpu6/cache/index3/type | 1 + .../linux-caches/cpu/cpu6/topology/core_id | 1 + .../linux-caches/cpu/cpu6/topology/core_siblings | 1 + .../cpu/cpu6/topology/core_siblings_list} | 0 .../cpu/cpu6/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu6/topology/thread_siblings | 1 + .../cpu/cpu6/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu7/cache/index0/level | 1 + .../cpu/cpu7/cache/index0/shared_cpu_list | 1 + .../cpu/cpu7/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index0/size | 1 + .../linux-caches/cpu/cpu7/cache/index0/type | 1 + .../linux-caches/cpu/cpu7/cache/index1/level | 1 + .../cpu/cpu7/cache/index1/shared_cpu_list | 1 + .../cpu/cpu7/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index1/size | 1 + .../linux-caches/cpu/cpu7/cache/index1/type | 1 + .../linux-caches/cpu/cpu7/cache/index2/level | 1 + .../cpu/cpu7/cache/index2/shared_cpu_list | 1 + .../cpu/cpu7/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index2/size | 1 + .../linux-caches/cpu/cpu7/cache/index2/type | 1 + .../linux-caches/cpu/cpu7/cache/index3/level | 1 + .../cpu/cpu7/cache/index3/shared_cpu_list} | 0 .../cpu/cpu7/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index3/size | 1 + .../linux-caches/cpu/cpu7/cache/index3/type | 1 + .../linux-caches/cpu/cpu7/topology/core_id | 1 + .../linux-caches/cpu/cpu7/topology/core_siblings | 1 + .../cpu/cpu7/topology/core_siblings_list} | 0 .../cpu/cpu7/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu7/topology/thread_siblings | 1 + .../cpu/cpu7/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-caches/cpu/kernel_max | 1 + .../linux-caches/cpu/online} | 0 .../linux-caches/cpu/present} | 0 tests/vircaps2xmldata/linux-caches/node/node0/cpu0 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu1 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu2 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu3 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu4 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu5 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu6 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu7 | 1 + .../linux-caches/node/node0/cpulist} | 0 .../linux-caches/node/node0/meminfo | 31 ++ .../linux-caches/node/online} | 0 .../linux-caches/node}/possible | 0 tests/vircaps2xmldata/vircaps-aarch64-basic.xml | 64 ++++ tests/vircaps2xmldata/vircaps-basic-4-4-2G.xml | 74 ---- tests/vircaps2xmldata/vircaps-x86_64-basic.xml | 62 +++ tests/vircaps2xmldata/vircaps-x86_64-caches.xml | 33 ++ tests/vircaps2xmltest.c | 133 +++---- .../cpu/offline | 0 .../cpu/possible | 0 tests/virhostcpudata/linux-deconf-cpus/cpu/offline | 1 - .../virhostcpudata/linux-deconf-cpus/cpu/possible | 1 - tests/virhostcpudata/linux-raspberrypi/cpu/offline | 1 - .../linux-rhelsa-3.19.0-mustang/cpu/offline | 1 - tests/virhostcpudata/linux-subcores1/cpu/offline | 1 - tests/virhostcpudata/linux-subcores1/cpu/possible | 1 - tests/virhostcpudata/linux-subcores2/cpu/offline | 1 - tests/virhostcpudata/linux-subcores2/cpu/possible | 1 - tests/virhostcpudata/linux-subcores3/cpu/offline | 1 - tests/virhostcpudata/linux-subcores3/cpu/possible | 1 - tests/virhostcpudata/linux-test1/cpu/online | 1 + tests/virhostcpudata/linux-test1/cpu/present | 1 + tests/virhostcpudata/linux-test2/cpu/online | 1 + tests/virhostcpudata/linux-test2/cpu/present | 1 + tests/virhostcpudata/linux-test3/cpu/online | 1 + tests/virhostcpudata/linux-test3/cpu/present | 1 + tests/virhostcpudata/linux-test4/cpu/online | 1 + tests/virhostcpudata/linux-test4/cpu/present | 1 + tests/virhostcpudata/linux-test5/cpu/online | 1 + tests/virhostcpudata/linux-test5/cpu/present | 1 + tests/virhostcpudata/linux-test6/cpu/online | 1 + .../cpu/possible => linux-test6/cpu/present} | 0 tests/virhostcpudata/linux-test7/cpu/online | 1 + tests/virhostcpudata/linux-test7/cpu/present | 1 + tests/virhostcpudata/linux-test8/cpu/offline | 0 tests/virhostcpudata/linux-test8/cpu/possible | 1 - tests/virhostcputest.c | 9 +- tests/virnumamock.c | 191 ++++++++++ 427 files changed, 1736 insertions(+), 1047 deletions(-) delete mode 100644 src/nodeinfo.c rename src/{fdstream.c => util/virfdstream.c} (99%) rename src/{fdstream.h => util/virfdstream.h} (97%) create mode 100644 src/util/virsysfs.c create mode 100644 src/util/virsysfs.h rename src/{nodeinfo.h => util/virsysfspriv.h} (62%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings_list copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu0/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings_list copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu1/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings_list copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu2/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings_list copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu3/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/online create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/present create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu0 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu1 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu2 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu3 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node0/cpulist create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu4 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu5 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu6 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu7 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node1/cpulist create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu10 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu11 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu8 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu9 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node2/cpulist create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu12 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu13 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu14 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu15 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node3/cpulist create mode 100644 tests/vircaps2xmldata/linux-basic/node/online create mode 100644 tests/vircaps2xmldata/linux-basic/node/possible create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/type copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings rename tests/{virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu0/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu1/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu2/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu3/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/type copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu4/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu5/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu6/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu7/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/kernel_max copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/online} (100%) copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/present} (100%) create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu0 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu1 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu2 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu3 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu4 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu5 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu6 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu7 copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/node/node0/cpulist} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/node/node0/meminfo copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/node/online} (100%) rename tests/{virhostcpudata/linux-raspberrypi/cpu => vircaps2xmldata/linux-caches/node}/possible (100%) create mode 100644 tests/vircaps2xmldata/vircaps-aarch64-basic.xml delete mode 100644 tests/vircaps2xmldata/vircaps-basic-4-4-2G.xml create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-basic.xml create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-caches.xml rename tests/virhostcpudata/{linux-f21-mustang => linux-caches1}/cpu/offline (100%) copy tests/virhostcpudata/{linux-f21-mustang => linux-caches1}/cpu/possible (100%) delete mode 100644 tests/virhostcpudata/linux-deconf-cpus/cpu/offline delete mode 100644 tests/virhostcpudata/linux-deconf-cpus/cpu/possible delete mode 100644 tests/virhostcpudata/linux-raspberrypi/cpu/offline delete mode 100644 tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/offline delete mode 100644 tests/virhostcpudata/linux-subcores1/cpu/offline delete mode 100644 tests/virhostcpudata/linux-subcores1/cpu/possible delete mode 100644 tests/virhostcpudata/linux-subcores2/cpu/offline delete mode 100644 tests/virhostcpudata/linux-subcores2/cpu/possible delete mode 100644 tests/virhostcpudata/linux-subcores3/cpu/offline delete mode 100644 tests/virhostcpudata/linux-subcores3/cpu/possible create mode 100644 tests/virhostcpudata/linux-test1/cpu/online create mode 100644 tests/virhostcpudata/linux-test1/cpu/present create mode 100644 tests/virhostcpudata/linux-test2/cpu/online create mode 100644 tests/virhostcpudata/linux-test2/cpu/present create mode 100644 tests/virhostcpudata/linux-test3/cpu/online create mode 100644 tests/virhostcpudata/linux-test3/cpu/present create mode 100644 tests/virhostcpudata/linux-test4/cpu/online create mode 100644 tests/virhostcpudata/linux-test4/cpu/present create mode 100644 tests/virhostcpudata/linux-test5/cpu/online create mode 100644 tests/virhostcpudata/linux-test5/cpu/present create mode 100644 tests/virhostcpudata/linux-test6/cpu/online rename tests/virhostcpudata/{linux-f21-mustang/cpu/possible => linux-test6/cpu/present} (100%) create mode 100644 tests/virhostcpudata/linux-test7/cpu/online create mode 100644 tests/virhostcpudata/linux-test7/cpu/present delete mode 100644 tests/virhostcpudata/linux-test8/cpu/offline delete mode 100644 tests/virhostcpudata/linux-test8/cpu/possible create mode 100644 tests/virnumamock.c -- 2.12.0

Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/libvirt_private.syms | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index e99bdb0289de..a71b56d7ba9c 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2167,6 +2167,7 @@ virNumaGetAutoPlacementAdvice; virNumaGetDistances; virNumaGetHostMemoryNodeset; virNumaGetMaxNode; +virNumaGetNodeCPUs; virNumaGetNodeMemory; virNumaGetPageInfo; virNumaGetPages; -- 2.12.0

Both QEMU and bhyve are using the same function for setting up the CPU in virCapabilities, so de-duplicate it, save code and time, and help other drivers adopt it. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/bhyve/bhyve_capabilities.c | 19 ++----------------- src/cpu/cpu.c | 13 +++++++++++++ src/cpu/cpu.h | 3 +++ src/libvirt_private.syms | 1 + src/qemu/qemu_capabilities.c | 15 +-------------- src/vmware/vmware_conf.c | 12 +++++------- 6 files changed, 25 insertions(+), 38 deletions(-) diff --git a/src/bhyve/bhyve_capabilities.c b/src/bhyve/bhyve_capabilities.c index 4bf1d84fafc5..169f3644bcbc 100644 --- a/src/bhyve/bhyve_capabilities.c +++ b/src/bhyve/bhyve_capabilities.c @@ -41,21 +41,6 @@ VIR_LOG_INIT("bhyve.bhyve_capabilities"); -static int -virBhyveCapsInitCPU(virCapsPtr caps, - virArch arch) -{ - virNodeInfo nodeinfo; - - if (nodeGetInfo(&nodeinfo)) - return -1; - - if (!(caps->host.cpu = virCPUGetHost(arch, VIR_CPU_TYPE_HOST, - &nodeinfo, NULL, 0))) - return -1; - - return 0; -} virCapsPtr virBhyveCapsBuild(void) @@ -77,8 +62,8 @@ virBhyveCapsBuild(void) NULL, NULL, 0, NULL) == NULL) goto error; - if (virBhyveCapsInitCPU(caps, virArchFromHost()) < 0) - VIR_WARN("Failed to get host CPU: %s", virGetLastErrorMessage()); + if (!(caps->host.cpu = virCPUProbeHost(caps->host.arch))) + VIR_WARN("Failed to get host CPU"); return caps; diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 1461190bac2a..1bbc2b2f849e 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -26,6 +26,7 @@ #include "virlog.h" #include "viralloc.h" #include "virxml.h" +#include "nodeinfo.h" #include "cpu.h" #include "cpu_map.h" #include "cpu_x86.h" @@ -462,6 +463,18 @@ virCPUGetHost(virArch arch, } +virCPUDefPtr +virCPUProbeHost(virArch arch) +{ + virNodeInfo nodeinfo; + + if (nodeGetInfo(&nodeinfo)) + return NULL; + + return virCPUGetHost(arch, VIR_CPU_TYPE_HOST, &nodeinfo, NULL, 0); +} + + /** * cpuBaselineXML: * diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h index d23409a4f068..c8e6b1846382 100644 --- a/src/cpu/cpu.h +++ b/src/cpu/cpu.h @@ -183,6 +183,9 @@ virCPUGetHost(virArch arch, const char **models, unsigned int nmodels); +virCPUDefPtr +virCPUProbeHost(virArch arch); + char * cpuBaselineXML(const char **xmlCPUs, unsigned int ncpus, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index a71b56d7ba9c..7627be9956eb 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1016,6 +1016,7 @@ virCPUDataNew; virCPUDataParse; virCPUGetHost; virCPUGetModels; +virCPUProbeHost; virCPUTranslate; virCPUUpdate; virCPUUpdateLive; diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 8bd39c729b6b..8e7b20ba187c 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1065,19 +1065,6 @@ virQEMUCapsInitGuestFromBinary(virCapsPtr caps, } -static virCPUDefPtr -virQEMUCapsProbeHostCPU(virCapsPtr caps) -{ - virNodeInfo nodeinfo; - - if (nodeGetInfo(&nodeinfo)) - return NULL; - - return virCPUGetHost(caps->host.arch, VIR_CPU_TYPE_HOST, - &nodeinfo, NULL, 0); -} - - virCPUDefPtr virQEMUCapsProbeHostCPUForEmulator(virCapsPtr caps, virQEMUCapsPtr qemuCaps, @@ -1140,7 +1127,7 @@ virCapsPtr virQEMUCapsInit(virQEMUCapsCachePtr cache) VIR_WARN("Failed to query host NUMA topology, disabling NUMA capabilities"); } - if (!(caps->host.cpu = virQEMUCapsProbeHostCPU(caps))) + if (!(caps->host.cpu = virCPUProbeHost(caps->host.arch))) VIR_WARN("Failed to get host CPU"); /* Add the power management features of the host */ diff --git a/src/vmware/vmware_conf.c b/src/vmware/vmware_conf.c index 659c4737a301..0c2b0f4c0be3 100644 --- a/src/vmware/vmware_conf.c +++ b/src/vmware/vmware_conf.c @@ -61,7 +61,6 @@ vmwareCapsInit(void) { virCapsPtr caps = NULL; virCapsGuestPtr guest = NULL; - virCPUDefPtr cpu = NULL; if ((caps = virCapabilitiesNew(virArchFromHost(), false, false)) == NULL) @@ -81,9 +80,9 @@ vmwareCapsInit(void) VIR_DOMAIN_VIRT_VMWARE, NULL, NULL, 0, NULL) == NULL) goto error; + guest = NULL; - if (!(cpu = virCPUGetHost(caps->host.arch, VIR_CPU_TYPE_HOST, - NULL, NULL, 0))) + if (!(caps->host.cpu = virCPUProbeHost(caps->host.arch))) goto error; /* x86_64 guests are supported if @@ -92,9 +91,9 @@ vmwareCapsInit(void) * - Host CPU is x86_64 with virtualization extensions */ if (caps->host.arch == VIR_ARCH_X86_64 || - (virCPUCheckFeature(cpu->arch, cpu, "lm") && - (virCPUCheckFeature(cpu->arch, cpu, "vmx") || - virCPUCheckFeature(cpu->arch, cpu, "svm")))) { + (virCPUCheckFeature(caps->host.cpu->arch, caps->host.cpu, "lm") && + (virCPUCheckFeature(caps->host.cpu->arch, caps->host.cpu, "vmx") || + virCPUCheckFeature(caps->host.cpu->arch, caps->host.cpu, "svm")))) { if ((guest = virCapabilitiesAddGuest(caps, VIR_DOMAIN_OSTYPE_HVM, @@ -109,7 +108,6 @@ vmwareCapsInit(void) } cleanup: - virCPUDefFree(cpu); return caps; error: -- 2.12.0

Guests are handled in callers, but if something goes wrong (when it cannot be added to virCapabilities, for example), there's no way for them to free it properly. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/conf/capabilities.c | 2 +- src/conf/capabilities.h | 3 +++ src/libvirt_private.syms | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index 9ab343bc6550..87e274c06675 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -148,7 +148,7 @@ virCapabilitiesFreeGuestFeature(virCapsGuestFeaturePtr feature) VIR_FREE(feature); } -static void +void virCapabilitiesFreeGuest(virCapsGuestPtr guest) { size_t i; diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h index cfdc34a66b88..8634fda14458 100644 --- a/src/conf/capabilities.h +++ b/src/conf/capabilities.h @@ -248,6 +248,9 @@ void virCapabilitiesFreeMachines(virCapsGuestMachinePtr *machines, int nmachines); +void +virCapabilitiesFreeGuest(virCapsGuestPtr guest); + virCapsGuestPtr virCapabilitiesAddGuest(virCapsPtr caps, int ostype, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 7627be9956eb..b504c524ce83 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -53,6 +53,7 @@ virCapabilitiesAllocMachines; virCapabilitiesClearHostNUMACellCPUTopology; virCapabilitiesDomainDataLookup; virCapabilitiesFormatXML; +virCapabilitiesFreeGuest; virCapabilitiesFreeMachines; virCapabilitiesFreeNUMAInfo; virCapabilitiesGetCpusForNodemask; -- 2.12.0

Don't leak guest if adding it to virCapabilities fails. Also return NULL and not pointer to free'd object with zero references in such case. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/vmware/vmware_conf.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/vmware/vmware_conf.c b/src/vmware/vmware_conf.c index 0c2b0f4c0be3..3ced61028e97 100644 --- a/src/vmware/vmware_conf.c +++ b/src/vmware/vmware_conf.c @@ -105,14 +105,15 @@ vmwareCapsInit(void) VIR_DOMAIN_VIRT_VMWARE, NULL, NULL, 0, NULL) == NULL) goto error; + guest = NULL; } - cleanup: return caps; error: + virCapabilitiesFreeGuest(guest); virObjectUnref(caps); - goto cleanup; + return NULL; } int -- 2.12.0

Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/cpu/cpu.c | 2 +- src/cpu/cpu.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 1bbc2b2f849e..484f5fceb090 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -33,7 +33,7 @@ #include "cpu_ppc64.h" #include "cpu_s390.h" #include "cpu_arm.h" -#include "util/virstring.h" +#include "virstring.h" #define VIR_FROM_THIS VIR_FROM_CPU diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h index c8e6b1846382..c4adc02f55d7 100644 --- a/src/cpu/cpu.h +++ b/src/cpu/cpu.h @@ -27,7 +27,7 @@ # include "virerror.h" # include "datatypes.h" # include "virarch.h" -# include "conf/cpu_conf.h" +# include "cpu_conf.h" # include "cpu_x86_data.h" # include "cpu_ppc64_data.h" -- 2.12.0

It is everywhere else. I even remember one of our scripts failing if the newline is missing, but it doesn't happen currently. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/libvirt_private.syms | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index b504c524ce83..4782945eef4f 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2471,6 +2471,7 @@ virSocketAddrSetIPv6Addr; virSocketAddrSetIPv6AddrNetOrder; virSocketAddrSetPort; + # util/virstorageencryption.h virStorageEncryptionFormat; virStorageEncryptionFree; -- 2.12.0

Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- tests/virhostcputest.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/virhostcputest.c b/tests/virhostcputest.c index 8387956bde6a..09be1208de40 100644 --- a/tests/virhostcputest.c +++ b/tests/virhostcputest.c @@ -249,8 +249,8 @@ mymain(void) return EXIT_FAILURE; for (i = 0; i < ARRAY_CARDINALITY(nodeData); i++) - if (virTestRun(nodeData[i].testName, linuxTestHostCPU, &nodeData[i]) != 0) - ret = -1; + if (virTestRun(nodeData[i].testName, linuxTestHostCPU, &nodeData[i]) != 0) + ret = -1; # define DO_TEST_CPU_STATS(name, ncpus) \ do { \ -- 2.12.0

Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/vz/vz_driver.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index b5d2964f34fb..3536491c3994 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -119,9 +119,12 @@ vzBuildCapabilities(void) if (nodeCapsInitNUMA(caps) < 0) goto error; - for (i = 0; i < 2; i++) - for (j = 0; j < 2; j++) - for (k = 0; k < 2; k++) + + verify(ARRAY_CARDINALITY(archs) == ARRAY_CARDINALITY(emulators)); + + for (i = 0; i < ARRAY_CARDINALITY(os_types); i++) + for (j = 0; j < ARRAY_CARDINALITY(archs); j++) + for (k = 0; k < ARRAY_CARDINALITY(emulators); k++) if (vzCapsAddGuestDomain(caps, ostypes[i], archs[j], emulators[k], virt_types[k]) < 0) goto error; -- 2.12.0

Commits eaf18f4c2bf1 and 86dd9fac0f1d separated util/host{cpu,mem} stuff from nodeinfo, but did not adjust the syms file. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/libvirt_private.syms | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 4782945eef4f..ddeca239bb9c 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1144,22 +1144,6 @@ virLogManagerNew; # nodeinfo.h nodeCapsInitNUMA; nodeGetInfo; -virHostCPUGetCount; -virHostCPUGetKVMMaxVCPUs; -virHostCPUGetMap; -virHostCPUGetOnlineBitmap; -virHostCPUGetPresentBitmap; -virHostCPUGetStats; -virHostCPUGetThreadsPerSubcore; -virHostCPUHasBitmap; -virHostCPUStatsAssign; -virHostMemAllocPages; -virHostMemGetCellsFree; -virHostMemGetFreePages; -virHostMemGetInfo; -virHostMemGetParameters; -virHostMemGetStats; -virHostMemSetParameters; # secret/secret_util.h @@ -1724,6 +1708,19 @@ virHookInitialize; virHookPresent; +# util/virhostcpu.h +virHostCPUGetCount; +virHostCPUGetInfo; +virHostCPUGetKVMMaxVCPUs; +virHostCPUGetMap; +virHostCPUGetOnlineBitmap; +virHostCPUGetPresentBitmap; +virHostCPUGetStats; +virHostCPUGetThreadsPerSubcore; +virHostCPUHasBitmap; +virHostCPUStatsAssign; + + # util/virhostdev.h virHostdevFindUSBDevice; virHostdevIsSCSIDevice; @@ -1747,6 +1744,16 @@ virHostdevUpdateActiveSCSIDevices; virHostdevUpdateActiveUSBDevices; +# util/virhostmem.h +virHostMemAllocPages; +virHostMemGetCellsFree; +virHostMemGetFreePages; +virHostMemGetInfo; +virHostMemGetParameters; +virHostMemGetStats; +virHostMemSetParameters; + + # util/viridentity.h virIdentityGetAttr; virIdentityGetCurrent; -- 2.12.0

There is particular function for this, there is no need to build whole nodeinfo for it. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/openvz/openvz_conf.c | 14 ++------------ src/openvz/openvz_conf.h | 1 - src/openvz/openvz_driver.c | 2 +- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/openvz/openvz_conf.c b/src/openvz/openvz_conf.c index b02e1aab8b86..e4d7634d2eff 100644 --- a/src/openvz/openvz_conf.c +++ b/src/openvz/openvz_conf.c @@ -51,6 +51,7 @@ #include "virfile.h" #include "vircommand.h" #include "virstring.h" +#include "virhostcpu.h" #define VIR_FROM_THIS VIR_FROM_OPENVZ @@ -570,7 +571,7 @@ int openvzLoadDomains(struct openvz_driver *driver) } if (ret == 0 || vcpus == 0) - vcpus = openvzGetNodeCPUs(); + vcpus = virHostCPUGetCount(); if (virDomainDefSetVcpusMax(def, vcpus, driver->xmlopt) < 0) goto cleanup; @@ -628,17 +629,6 @@ int openvzLoadDomains(struct openvz_driver *driver) return -1; } -unsigned int -openvzGetNodeCPUs(void) -{ - virNodeInfo nodeinfo; - - if (nodeGetInfo(&nodeinfo) < 0) - return 0; - - return nodeinfo.cpus; -} - static int openvzWriteConfigParam(const char * conf_file, const char *param, const char *value) { diff --git a/src/openvz/openvz_conf.h b/src/openvz/openvz_conf.h index fc36740d26c6..be7e16df531d 100644 --- a/src/openvz/openvz_conf.h +++ b/src/openvz/openvz_conf.h @@ -67,7 +67,6 @@ int openvzLoadDomains(struct openvz_driver *driver); void openvzFreeDriver(struct openvz_driver *driver); int strtoI(const char *str); int openvzSetDefinedUUID(int vpsid, unsigned char *uuid); -unsigned int openvzGetNodeCPUs(void); int openvzGetVEID(const char *name); int openvzReadNetworkConf(virDomainDefPtr def, int veid); diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c index eaa9ef68c576..01ad7628455a 100644 --- a/src/openvz/openvz_driver.c +++ b/src/openvz/openvz_driver.c @@ -1362,7 +1362,7 @@ static int openvzDomainSetVcpusInternal(virDomainObjPtr vm, const char *prog[] = { VZCTL, "--quiet", "set", PROGRAM_SENTINEL, "--cpus", str_vcpus, "--save", NULL }; unsigned int pcpus; - pcpus = openvzGetNodeCPUs(); + pcpus = virHostCPUGetCount(); if (pcpus > 0 && pcpus < nvcpus) nvcpus = pcpus; -- 2.12.0

We are not using them at all and the directories are missing bunch of files already. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- tests/virhostcpudata/linux-deconf-cpus/cpu/offline | 1 - tests/virhostcpudata/linux-deconf-cpus/cpu/possible | 1 - tests/virhostcpudata/linux-f21-mustang/cpu/offline | 1 - tests/virhostcpudata/linux-f21-mustang/cpu/possible | 1 - tests/virhostcpudata/linux-raspberrypi/cpu/offline | 1 - tests/virhostcpudata/linux-raspberrypi/cpu/possible | 1 - tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/offline | 1 - tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/possible | 1 - tests/virhostcpudata/linux-subcores1/cpu/offline | 1 - tests/virhostcpudata/linux-subcores1/cpu/possible | 1 - tests/virhostcpudata/linux-subcores2/cpu/offline | 1 - tests/virhostcpudata/linux-subcores2/cpu/possible | 1 - tests/virhostcpudata/linux-subcores3/cpu/offline | 1 - tests/virhostcpudata/linux-subcores3/cpu/possible | 1 - tests/virhostcpudata/linux-test8/cpu/offline | 0 tests/virhostcpudata/linux-test8/cpu/possible | 1 - 16 files changed, 15 deletions(-) delete mode 100644 tests/virhostcpudata/linux-deconf-cpus/cpu/offline delete mode 100644 tests/virhostcpudata/linux-deconf-cpus/cpu/possible delete mode 100644 tests/virhostcpudata/linux-f21-mustang/cpu/offline delete mode 100644 tests/virhostcpudata/linux-f21-mustang/cpu/possible delete mode 100644 tests/virhostcpudata/linux-raspberrypi/cpu/offline delete mode 100644 tests/virhostcpudata/linux-raspberrypi/cpu/possible delete mode 100644 tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/offline delete mode 100644 tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/possible delete mode 100644 tests/virhostcpudata/linux-subcores1/cpu/offline delete mode 100644 tests/virhostcpudata/linux-subcores1/cpu/possible delete mode 100644 tests/virhostcpudata/linux-subcores2/cpu/offline delete mode 100644 tests/virhostcpudata/linux-subcores2/cpu/possible delete mode 100644 tests/virhostcpudata/linux-subcores3/cpu/offline delete mode 100644 tests/virhostcpudata/linux-subcores3/cpu/possible delete mode 100644 tests/virhostcpudata/linux-test8/cpu/offline delete mode 100644 tests/virhostcpudata/linux-test8/cpu/possible diff --git a/tests/virhostcpudata/linux-deconf-cpus/cpu/offline b/tests/virhostcpudata/linux-deconf-cpus/cpu/offline deleted file mode 100644 index b74672a3de54..000000000000 --- a/tests/virhostcpudata/linux-deconf-cpus/cpu/offline +++ /dev/null @@ -1 +0,0 @@ -0-15,17-23,25-39,41-47,49-71,73-103,105-111,113-119,121-127,129-135,137-159 diff --git a/tests/virhostcpudata/linux-deconf-cpus/cpu/possible b/tests/virhostcpudata/linux-deconf-cpus/cpu/possible deleted file mode 100644 index 7a662d6ab5c2..000000000000 --- a/tests/virhostcpudata/linux-deconf-cpus/cpu/possible +++ /dev/null @@ -1 +0,0 @@ -0-159 diff --git a/tests/virhostcpudata/linux-f21-mustang/cpu/offline b/tests/virhostcpudata/linux-f21-mustang/cpu/offline deleted file mode 100644 index 8b137891791f..000000000000 --- a/tests/virhostcpudata/linux-f21-mustang/cpu/offline +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/virhostcpudata/linux-f21-mustang/cpu/possible b/tests/virhostcpudata/linux-f21-mustang/cpu/possible deleted file mode 100644 index 74fc2fb6b048..000000000000 --- a/tests/virhostcpudata/linux-f21-mustang/cpu/possible +++ /dev/null @@ -1 +0,0 @@ -0-7 diff --git a/tests/virhostcpudata/linux-raspberrypi/cpu/offline b/tests/virhostcpudata/linux-raspberrypi/cpu/offline deleted file mode 100644 index 8b137891791f..000000000000 --- a/tests/virhostcpudata/linux-raspberrypi/cpu/offline +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/virhostcpudata/linux-raspberrypi/cpu/possible b/tests/virhostcpudata/linux-raspberrypi/cpu/possible deleted file mode 100644 index 573541ac9702..000000000000 --- a/tests/virhostcpudata/linux-raspberrypi/cpu/possible +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/offline b/tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/offline deleted file mode 100644 index 8b137891791f..000000000000 --- a/tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/offline +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/possible b/tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/possible deleted file mode 100644 index 74fc2fb6b048..000000000000 --- a/tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/possible +++ /dev/null @@ -1 +0,0 @@ -0-7 diff --git a/tests/virhostcpudata/linux-subcores1/cpu/offline b/tests/virhostcpudata/linux-subcores1/cpu/offline deleted file mode 100644 index c15c0562055f..000000000000 --- a/tests/virhostcpudata/linux-subcores1/cpu/offline +++ /dev/null @@ -1 +0,0 @@ -1-7,9-15,17-23,25-31,33-39,41-47,49-55,57-63,65-71,73-79,81-87,89-95,97-103,105-111,113-119,121-127,129-135,137-143,145-151,153-159 diff --git a/tests/virhostcpudata/linux-subcores1/cpu/possible b/tests/virhostcpudata/linux-subcores1/cpu/possible deleted file mode 100644 index 7a662d6ab5c2..000000000000 --- a/tests/virhostcpudata/linux-subcores1/cpu/possible +++ /dev/null @@ -1 +0,0 @@ -0-159 diff --git a/tests/virhostcpudata/linux-subcores2/cpu/offline b/tests/virhostcpudata/linux-subcores2/cpu/offline deleted file mode 100644 index eadee0c92b6c..000000000000 --- a/tests/virhostcpudata/linux-subcores2/cpu/offline +++ /dev/null @@ -1 +0,0 @@ -1-7,9-15,17-23,25-31,33-47,49-95,97-135,137-159 diff --git a/tests/virhostcpudata/linux-subcores2/cpu/possible b/tests/virhostcpudata/linux-subcores2/cpu/possible deleted file mode 100644 index 7a662d6ab5c2..000000000000 --- a/tests/virhostcpudata/linux-subcores2/cpu/possible +++ /dev/null @@ -1 +0,0 @@ -0-159 diff --git a/tests/virhostcpudata/linux-subcores3/cpu/offline b/tests/virhostcpudata/linux-subcores3/cpu/offline deleted file mode 100644 index 74796ec8b312..000000000000 --- a/tests/virhostcpudata/linux-subcores3/cpu/offline +++ /dev/null @@ -1 +0,0 @@ -0-7,9-39,41-47,49-55,57-67,69-71,73-79,81-87,89-95,97-103,105-111,113-127,129-135,137-151 diff --git a/tests/virhostcpudata/linux-subcores3/cpu/possible b/tests/virhostcpudata/linux-subcores3/cpu/possible deleted file mode 100644 index 7a662d6ab5c2..000000000000 --- a/tests/virhostcpudata/linux-subcores3/cpu/possible +++ /dev/null @@ -1 +0,0 @@ -0-159 diff --git a/tests/virhostcpudata/linux-test8/cpu/offline b/tests/virhostcpudata/linux-test8/cpu/offline deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/tests/virhostcpudata/linux-test8/cpu/possible b/tests/virhostcpudata/linux-test8/cpu/possible deleted file mode 100644 index 3498c1f2daa5..000000000000 --- a/tests/virhostcpudata/linux-test8/cpu/possible +++ /dev/null @@ -1 +0,0 @@ -0-63 -- 2.12.0

These helpers are doing just a read and covert the value, but they properly size the read limit, handle additional whitespace characters, and unify error reporting. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/libvirt_private.syms | 3 ++ src/util/virfile.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++++ src/util/virfile.h | 6 ++++ 3 files changed, 92 insertions(+) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index ddeca239bb9c..27fbca589faa 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1626,6 +1626,9 @@ virFileReadBufQuiet; virFileReadHeaderFD; virFileReadLimFD; virFileReadLink; +virFileReadValueBitmap; +virFileReadValueInt; +virFileReadValueUint; virFileRelLinkPointsTo; virFileRemove; virFileRemoveLastComponent; diff --git a/src/util/virfile.c b/src/util/virfile.c index 41cdca953b28..e0e6f3c91581 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -65,6 +65,7 @@ #endif #include "configmake.h" +#include "intprops.h" #include "viralloc.h" #include "vircommand.h" #include "virerror.h" @@ -3794,3 +3795,85 @@ virFileComparePaths(const char *p1, const char *p2) VIR_FREE(res2); return ret; } + + +int +virFileReadValueInt(const char *path, int *value) +{ + char *str = NULL; + char *endp = NULL; + + if (!virFileExists(path)) + return -2; + + if (virFileReadAll(path, INT_STRLEN_BOUND(*value), &str) < 0) + return -1; + + if (virStrToLong_i(str, &endp, 10, value) < 0 || + (endp && !c_isspace(*endp))) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Invalid integer value '%s' in file '%s'"), + str, path); + return -1; + } + + VIR_FREE(str); + + return 0; +} + + +int +virFileReadValueUint(const char *path, unsigned int *value) +{ + char *str = NULL; + char *endp = NULL; + + if (!virFileExists(path)) + return -2; + + if (virFileReadAll(path, INT_STRLEN_BOUND(*value), &str) < 0) + return -1; + + if (virStrToLong_uip(str, &endp, 10, value) < 0 || + (endp && !c_isspace(*endp))) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Invalid unsigned integer value '%s' in file '%s'"), + str, path); + return -1; + } + + VIR_FREE(str); + + return 0; +} + +int +virFileReadValueBitmap(const char *path, + int maxlen, + virBitmapPtr *value) +{ + char *buf = NULL; + int ret = -1; + char *tmp = NULL; + + if (!virFileExists(path)) + return -2; + + if (virFileReadAll(path, maxlen, &buf) < 0) + goto cleanup; + + /* trim optinoal newline at the end */ + tmp = buf + strlen(buf) - 1; + if (*tmp == '\n') + *tmp = '\0'; + + *value = virBitmapParseUnlimited(buf); + if (!*value) + goto cleanup; + + ret = 0; + cleanup: + VIR_FREE(buf); + return ret; +} diff --git a/src/util/virfile.h b/src/util/virfile.h index b29feeeb1d87..ba1c57c06a8e 100644 --- a/src/util/virfile.h +++ b/src/util/virfile.h @@ -30,6 +30,7 @@ # include <dirent.h> # include "internal.h" +# include "virbitmap.h" # include "virstoragefile.h" typedef enum { @@ -334,4 +335,9 @@ int virFileCopyACLs(const char *src, const char *dst); int virFileComparePaths(const char *p1, const char *p2); + +int virFileReadValueInt(const char *path, int *value); +int virFileReadValueUint(const char *path, unsigned int *value); +int virFileReadValueBitmap(const char *path, int maxlen, virBitmapPtr *value); + #endif /* __VIR_FILE_H */ -- 2.12.0

On 24.03.2017 20:00, Martin Kletzander wrote:
These helpers are doing just a read and covert the value, but they properly size the read limit, handle additional whitespace characters, and unify error reporting.
Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/libvirt_private.syms | 3 ++ src/util/virfile.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++++ src/util/virfile.h | 6 ++++ 3 files changed, 92 insertions(+)
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index ddeca239bb9c..27fbca589faa 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1626,6 +1626,9 @@ virFileReadBufQuiet; virFileReadHeaderFD; virFileReadLimFD; virFileReadLink; +virFileReadValueBitmap; +virFileReadValueInt; +virFileReadValueUint; virFileRelLinkPointsTo; virFileRemove; virFileRemoveLastComponent; diff --git a/src/util/virfile.c b/src/util/virfile.c index 41cdca953b28..e0e6f3c91581 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -65,6 +65,7 @@ #endif
#include "configmake.h" +#include "intprops.h" #include "viralloc.h" #include "vircommand.h" #include "virerror.h" @@ -3794,3 +3795,85 @@ virFileComparePaths(const char *p1, const char *p2) VIR_FREE(res2); return ret; } + + +int +virFileReadValueInt(const char *path, int *value) +{ + char *str = NULL; + char *endp = NULL; + + if (!virFileExists(path)) + return -2; + + if (virFileReadAll(path, INT_STRLEN_BOUND(*value), &str) < 0) + return -1; + + if (virStrToLong_i(str, &endp, 10, value) < 0 || + (endp && !c_isspace(*endp))) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Invalid integer value '%s' in file '%s'"), + str, path); + return -1; + } + + VIR_FREE(str); + + return 0; +}
I'd expect some comment for these. Esp. on retvals. Michal

The functionality these tests partially relied on (scanning the cpu directory for cpu[0-9]+ subdirectories) is going to be removed, so we need additional files that are present on all non-medieval systems. Removing all these tests would be an option but we would lose the ability to test the topologies. Even though we just extract number of sockets/cores/threads from all these directory trees. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- tests/virhostcpudata/linux-test1/cpu/online | 1 + tests/virhostcpudata/linux-test1/cpu/present | 1 + tests/virhostcpudata/linux-test2/cpu/online | 1 + tests/virhostcpudata/linux-test2/cpu/present | 1 + tests/virhostcpudata/linux-test3/cpu/online | 1 + tests/virhostcpudata/linux-test3/cpu/present | 1 + tests/virhostcpudata/linux-test4/cpu/online | 1 + tests/virhostcpudata/linux-test4/cpu/present | 1 + tests/virhostcpudata/linux-test5/cpu/online | 1 + tests/virhostcpudata/linux-test5/cpu/present | 1 + tests/virhostcpudata/linux-test6/cpu/online | 1 + tests/virhostcpudata/linux-test6/cpu/present | 1 + tests/virhostcpudata/linux-test7/cpu/online | 1 + tests/virhostcpudata/linux-test7/cpu/present | 1 + 14 files changed, 14 insertions(+) create mode 100644 tests/virhostcpudata/linux-test1/cpu/online create mode 100644 tests/virhostcpudata/linux-test1/cpu/present create mode 100644 tests/virhostcpudata/linux-test2/cpu/online create mode 100644 tests/virhostcpudata/linux-test2/cpu/present create mode 100644 tests/virhostcpudata/linux-test3/cpu/online create mode 100644 tests/virhostcpudata/linux-test3/cpu/present create mode 100644 tests/virhostcpudata/linux-test4/cpu/online create mode 100644 tests/virhostcpudata/linux-test4/cpu/present create mode 100644 tests/virhostcpudata/linux-test5/cpu/online create mode 100644 tests/virhostcpudata/linux-test5/cpu/present create mode 100644 tests/virhostcpudata/linux-test6/cpu/online create mode 100644 tests/virhostcpudata/linux-test6/cpu/present create mode 100644 tests/virhostcpudata/linux-test7/cpu/online create mode 100644 tests/virhostcpudata/linux-test7/cpu/present diff --git a/tests/virhostcpudata/linux-test1/cpu/online b/tests/virhostcpudata/linux-test1/cpu/online new file mode 100644 index 000000000000..8b0fab869c1d --- /dev/null +++ b/tests/virhostcpudata/linux-test1/cpu/online @@ -0,0 +1 @@ +0-1 diff --git a/tests/virhostcpudata/linux-test1/cpu/present b/tests/virhostcpudata/linux-test1/cpu/present new file mode 100644 index 000000000000..8b0fab869c1d --- /dev/null +++ b/tests/virhostcpudata/linux-test1/cpu/present @@ -0,0 +1 @@ +0-1 diff --git a/tests/virhostcpudata/linux-test2/cpu/online b/tests/virhostcpudata/linux-test2/cpu/online new file mode 100644 index 000000000000..8b0fab869c1d --- /dev/null +++ b/tests/virhostcpudata/linux-test2/cpu/online @@ -0,0 +1 @@ +0-1 diff --git a/tests/virhostcpudata/linux-test2/cpu/present b/tests/virhostcpudata/linux-test2/cpu/present new file mode 100644 index 000000000000..8b0fab869c1d --- /dev/null +++ b/tests/virhostcpudata/linux-test2/cpu/present @@ -0,0 +1 @@ +0-1 diff --git a/tests/virhostcpudata/linux-test3/cpu/online b/tests/virhostcpudata/linux-test3/cpu/online new file mode 100644 index 000000000000..ece4196a6ae3 --- /dev/null +++ b/tests/virhostcpudata/linux-test3/cpu/online @@ -0,0 +1 @@ +0-47 diff --git a/tests/virhostcpudata/linux-test3/cpu/present b/tests/virhostcpudata/linux-test3/cpu/present new file mode 100644 index 000000000000..ece4196a6ae3 --- /dev/null +++ b/tests/virhostcpudata/linux-test3/cpu/present @@ -0,0 +1 @@ +0-47 diff --git a/tests/virhostcpudata/linux-test4/cpu/online b/tests/virhostcpudata/linux-test4/cpu/online new file mode 100644 index 000000000000..580a385a1d96 --- /dev/null +++ b/tests/virhostcpudata/linux-test4/cpu/online @@ -0,0 +1 @@ +0-15 diff --git a/tests/virhostcpudata/linux-test4/cpu/present b/tests/virhostcpudata/linux-test4/cpu/present new file mode 100644 index 000000000000..580a385a1d96 --- /dev/null +++ b/tests/virhostcpudata/linux-test4/cpu/present @@ -0,0 +1 @@ +0-15 diff --git a/tests/virhostcpudata/linux-test5/cpu/online b/tests/virhostcpudata/linux-test5/cpu/online new file mode 100644 index 000000000000..40c7bb2f1a2a --- /dev/null +++ b/tests/virhostcpudata/linux-test5/cpu/online @@ -0,0 +1 @@ +0-3 diff --git a/tests/virhostcpudata/linux-test5/cpu/present b/tests/virhostcpudata/linux-test5/cpu/present new file mode 100644 index 000000000000..40c7bb2f1a2a --- /dev/null +++ b/tests/virhostcpudata/linux-test5/cpu/present @@ -0,0 +1 @@ +0-3 diff --git a/tests/virhostcpudata/linux-test6/cpu/online b/tests/virhostcpudata/linux-test6/cpu/online new file mode 100644 index 000000000000..1d3e4fb38a0d --- /dev/null +++ b/tests/virhostcpudata/linux-test6/cpu/online @@ -0,0 +1 @@ +0-4,6 diff --git a/tests/virhostcpudata/linux-test6/cpu/present b/tests/virhostcpudata/linux-test6/cpu/present new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/virhostcpudata/linux-test6/cpu/present @@ -0,0 +1 @@ +0-7 diff --git a/tests/virhostcpudata/linux-test7/cpu/online b/tests/virhostcpudata/linux-test7/cpu/online new file mode 100644 index 000000000000..bb381c7835f1 --- /dev/null +++ b/tests/virhostcpudata/linux-test7/cpu/online @@ -0,0 +1 @@ +0-23 diff --git a/tests/virhostcpudata/linux-test7/cpu/present b/tests/virhostcpudata/linux-test7/cpu/present new file mode 100644 index 000000000000..bb381c7835f1 --- /dev/null +++ b/tests/virhostcpudata/linux-test7/cpu/present @@ -0,0 +1 @@ +0-23 -- 2.12.0

By using this we are able to easily switch the sysfs path being used (fake it). This will not only help tests in the future but can be also used from files where the code is duplicated currently. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/Makefile.am | 2 + src/libvirt_private.syms | 14 +++ src/util/virsysfs.c | 229 +++++++++++++++++++++++++++++++++++++++++++++++ src/util/virsysfs.h | 70 +++++++++++++++ src/util/virsysfspriv.h | 28 ++++++ 5 files changed, 343 insertions(+) create mode 100644 src/util/virsysfs.c create mode 100644 src/util/virsysfs.h create mode 100644 src/util/virsysfspriv.h diff --git a/src/Makefile.am b/src/Makefile.am index 3b1bb1da35d0..2052fb507b70 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -173,6 +173,7 @@ UTIL_SOURCES = \ util/virstorageencryption.c util/virstorageencryption.h \ util/virstoragefile.c util/virstoragefile.h \ util/virstring.h util/virstring.c \ + util/virsysfs.c util/virsysfs.h util/virsysfspriv.h \ util/virsysinfo.c util/virsysinfo.h util/virsysinfopriv.h \ util/virsystemd.c util/virsystemd.h util/virsystemdpriv.h \ util/virthread.c util/virthread.h \ @@ -2584,6 +2585,7 @@ libvirt_setuid_rpc_client_la_SOURCES = \ util/virrandom.c \ util/virsocketaddr.c \ util/virstring.c \ + util/virsysfs.c \ util/virsystemd.c \ util/virtime.c \ util/virthread.c \ diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 27fbca589faa..0a4659fe5e92 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2588,6 +2588,20 @@ virTrimSpaces; virVasprintfInternal; +# util/virsysfs.h +virSysfsGetCpuValueBitmap; +virSysfsGetCpuValueInt; +virSysfsGetCpuValueString; +virSysfsGetCpuValueUint; +virSysfsGetNodeValueBitmap; +virSysfsGetNodeValueString; +virSysfsGetSystemPath; +virSysfsGetValueBitmap; +virSysfsGetValueInt; +virSysfsGetValueString; +virSysfsSetSystemPath; + + # util/virsysinfo.h virSysinfoBaseBoardDefClear; virSysinfoBIOSDefFree; diff --git a/src/util/virsysfs.c b/src/util/virsysfs.c new file mode 100644 index 000000000000..7a98b488e0ff --- /dev/null +++ b/src/util/virsysfs.c @@ -0,0 +1,229 @@ +/* + * virsysfs.c: Helper functions for manipulating sysfs files + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * <http://www.gnu.org/licenses/>. + * + * Author: Martin Kletzander <mkletzan@redhat.com> + */ + +#include <config.h> + +#include "internal.h" + +#include "virsysfspriv.h" + +#include "viralloc.h" +#include "virfile.h" +#include "virlog.h" +#include "virstring.h" + +#define VIR_FROM_THIS VIR_FROM_NONE + +VIR_LOG_INIT("util.sysfs"); + + +#define VIR_SYSFS_VALUE_MAXLEN 8192 +#define SYSFS_SYSTEM_PATH "/sys/devices/system" + +static const char *sysfs_system_path = SYSFS_SYSTEM_PATH; + + +void virSysfsSetSystemPath(const char *path) +{ + if (path) + sysfs_system_path = path; + else + sysfs_system_path = SYSFS_SYSTEM_PATH; +} + + +const char * +virSysfsGetSystemPath(void) +{ + return sysfs_system_path; +} + +int +virSysfsGetValueInt(const char *file, + int *value) +{ + char *path = NULL; + int ret = -1; + + if (virAsprintf(&path, "%s/%s", sysfs_system_path, file) < 0) + return -1; + + ret = virFileReadValueInt(path, value); + + VIR_FREE(path); + return ret; +} + +int +virSysfsGetValueString(const char *file, + char **value) +{ + char *path = NULL; + int ret = -1; + + if (virAsprintf(&path, "%s/%s", sysfs_system_path, file) < 0) + return -1; + + if (!virFileExists(path)) { + ret = -2; + goto cleanup; + } + + if (virFileReadAll(path, VIR_SYSFS_VALUE_MAXLEN, value) < 0) + goto cleanup; + + ret = 0; + cleanup: + VIR_FREE(path); + return ret; +} + +int +virSysfsGetValueBitmap(const char *file, + virBitmapPtr *value) +{ + char *path = NULL; + int ret = -1; + + if (virAsprintf(&path, "%s/%s", sysfs_system_path, file) < 0) + return -1; + + ret = virFileReadValueBitmap(path, VIR_SYSFS_VALUE_MAXLEN, value); + VIR_FREE(path); + return ret; +} + +int +virSysfsGetCpuValueInt(unsigned int cpu, + const char *file, + int *value) +{ + char *path = NULL; + int ret = -1; + + if (virAsprintf(&path, "%s/cpu/cpu%u/%s", sysfs_system_path, cpu, file) < 0) + return -1; + + ret = virFileReadValueInt(path, value); + + VIR_FREE(path); + return ret; +} + + +int +virSysfsGetCpuValueUint(unsigned int cpu, + const char *file, + unsigned int *value) +{ + char *path = NULL; + int ret = -1; + + if (virAsprintf(&path, "%s/cpu/cpu%u/%s", sysfs_system_path, cpu, file) < 0) + return -1; + + ret = virFileReadValueUint(path, value); + + VIR_FREE(path); + return ret; +} + + +int +virSysfsGetCpuValueString(unsigned int cpu, + const char *file, + char **value) +{ + char *path = NULL; + int ret = -1; + + if (virAsprintf(&path, "%s/cpu/cpu%u/%s", sysfs_system_path, cpu, file) < 0) + return -1; + + if (!virFileExists(path)) { + ret = -2; + goto cleanup; + } + + if (virFileReadAll(path, VIR_SYSFS_VALUE_MAXLEN, value) < 0) + goto cleanup; + + ret = 0; + cleanup: + VIR_FREE(path); + return ret; +} + +int +virSysfsGetCpuValueBitmap(unsigned int cpu, + const char *file, + virBitmapPtr *value) +{ + char *path = NULL; + int ret = -1; + + if (virAsprintf(&path, "%s/cpu/cpu%u/%s", sysfs_system_path, cpu, file) < 0) + return -1; + + ret = virFileReadValueBitmap(path, VIR_SYSFS_VALUE_MAXLEN, value); + VIR_FREE(path); + return ret; +} + +int +virSysfsGetNodeValueString(unsigned int node, + const char *file, + char **value) +{ + char *path = NULL; + int ret = -1; + + if (virAsprintf(&path, "%s/node/node%u/%s", sysfs_system_path, node, file) < 0) + return -1; + + if (!virFileExists(path)) { + ret = -2; + goto cleanup; + } + + if (virFileReadAll(path, VIR_SYSFS_VALUE_MAXLEN, value) < 0) + goto cleanup; + + ret = 0; + cleanup: + VIR_FREE(path); + return ret; +} + +int +virSysfsGetNodeValueBitmap(unsigned int node, + const char *file, + virBitmapPtr *value) +{ + char *path = NULL; + int ret = -1; + + if (virAsprintf(&path, "%s/node/node%u/%s", sysfs_system_path, node, file) < 0) + return -1; + + ret = virFileReadValueBitmap(path, VIR_SYSFS_VALUE_MAXLEN, value); + VIR_FREE(path); + return ret; +} diff --git a/src/util/virsysfs.h b/src/util/virsysfs.h new file mode 100644 index 000000000000..cd871ff11dd1 --- /dev/null +++ b/src/util/virsysfs.h @@ -0,0 +1,70 @@ +/* + * virsysfs.h: Helper functions for manipulating sysfs files + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * <http://www.gnu.org/licenses/>. + * + * Author: Martin Kletzander <mkletzan@redhat.com> + */ + +#ifndef __VIR_SYSFS_H__ +# define __VIR_SYSFS_H__ + +# include "internal.h" +# include "virbitmap.h" + +const char * virSysfsGetSystemPath(void); + +int +virSysfsGetValueInt(const char *file, + int *value); + +int +virSysfsGetValueString(const char *file, + char **value); + +int +virSysfsGetValueBitmap(const char *file, + virBitmapPtr *value); + +int +virSysfsGetCpuValueInt(unsigned int cpu, + const char *file, + int *value); +int +virSysfsGetCpuValueUint(unsigned int cpu, + const char *file, + unsigned int *value); + +int +virSysfsGetCpuValueString(unsigned int cpu, + const char *file, + char **value); + +int +virSysfsGetCpuValueBitmap(unsigned int cpu, + const char *file, + virBitmapPtr *value); + +int +virSysfsGetNodeValueString(unsigned int node, + const char *file, + char **value); + +int +virSysfsGetNodeValueBitmap(unsigned int cpu, + const char *file, + virBitmapPtr *value); + +#endif /* __VIR_SYSFS_H__*/ diff --git a/src/util/virsysfspriv.h b/src/util/virsysfspriv.h new file mode 100644 index 000000000000..ae9f54a40c2a --- /dev/null +++ b/src/util/virsysfspriv.h @@ -0,0 +1,28 @@ +/* + * virsysfspriv.h: Helper functions for manipulating sysfs files + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * <http://www.gnu.org/licenses/>. + * + * Author: Martin Kletzander <mkletzan@redhat.com> + */ + +#ifndef __VIR_SYSFS_PRIV_H__ +# define __VIR_SYSFS_PRIV_H__ + +# include "virsysfs.h" + +void virSysfsSetSystemPath(const char *path); + +#endif /* __VIR_SYSFS_PRIV_H__*/ -- 2.12.0

While on that, drop support for kernels from RHEL-5 era (missing cpu/present file). Also add some useful functions and export them. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/libvirt_linux.syms | 1 - src/libvirt_private.syms | 3 + src/util/virhostcpu.c | 345 +++++++++++++--------------------------------- src/util/virhostcpu.h | 7 +- src/util/virhostcpupriv.h | 2 - tests/virhostcputest.c | 5 +- 6 files changed, 109 insertions(+), 254 deletions(-) diff --git a/src/libvirt_linux.syms b/src/libvirt_linux.syms index a864b78ce7b7..3d66f013062b 100644 --- a/src/libvirt_linux.syms +++ b/src/libvirt_linux.syms @@ -5,7 +5,6 @@ # util/virhostcpu.h virHostCPUGetInfoPopulateLinux; virHostCPUGetStatsLinux; -virHostCPUSetSysFSSystemPathLinux; # Let emacs know we want case-insensitive sorting # Local Variables: diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 0a4659fe5e92..c5181e5ff6de 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1712,12 +1712,15 @@ virHookPresent; # util/virhostcpu.h +virHostCPUGetCore; virHostCPUGetCount; virHostCPUGetInfo; virHostCPUGetKVMMaxVCPUs; virHostCPUGetMap; +virHostCPUGetOnline; virHostCPUGetOnlineBitmap; virHostCPUGetPresentBitmap; +virHostCPUGetSocket; virHostCPUGetStats; virHostCPUGetThreadsPerSubcore; virHostCPUHasBitmap; diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c index f29f3122acee..47f930cdbf3c 100644 --- a/src/util/virhostcpu.c +++ b/src/util/virhostcpu.c @@ -56,6 +56,7 @@ #include "virfile.h" #include "virtypedparam.h" #include "virstring.h" +#include "virsysfs.h" #include "virnuma.h" #include "virlog.h" @@ -189,89 +190,27 @@ virHostCPUGetStatsFreeBSD(int cpuNum, #endif /* __FreeBSD__ */ #ifdef __linux__ -# define SYSFS_SYSTEM_PATH "/sys/devices/system" # define CPUINFO_PATH "/proc/cpuinfo" # define PROCSTAT_PATH "/proc/stat" -# define SYSFS_THREAD_SIBLINGS_LIST_LENGTH_MAX 8192 +# define VIR_HOST_CPU_MASK_LEN 1024 # define LINUX_NB_CPU_STATS 4 -static const char *sysfs_system_path = SYSFS_SYSTEM_PATH; - -void virHostCPUSetSysFSSystemPathLinux(const char *path) -{ - if (path) - sysfs_system_path = path; - else - sysfs_system_path = SYSFS_SYSTEM_PATH; -} - -/* Return the positive decimal contents of the given - * DIR/cpu%u/FILE, or -1 on error. If DEFAULT_VALUE is non-negative - * and the file could not be found, return that instead of an error; - * this is useful for machines that cannot hot-unplug cpu0, or where - * hot-unplugging is disabled, or where the kernel is too old - * to support NUMA cells, etc. */ -static int -virHostCPUGetValue(const char *dir, unsigned int cpu, const char *file, - int default_value) -{ - char *path; - FILE *pathfp; - int value = -1; - char value_str[INT_BUFSIZE_BOUND(value)]; - char *tmp; - - if (virAsprintf(&path, "%s/cpu%u/%s", dir, cpu, file) < 0) - return -1; - - pathfp = fopen(path, "r"); - if (pathfp == NULL) { - if (default_value >= 0 && errno == ENOENT) - value = default_value; - else - virReportSystemError(errno, _("cannot open %s"), path); - goto cleanup; - } - - if (fgets(value_str, sizeof(value_str), pathfp) == NULL) { - virReportSystemError(errno, _("cannot read from %s"), path); - goto cleanup; - } - if (virStrToLong_i(value_str, &tmp, 10, &value) < 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("could not convert '%s' to an integer"), - value_str); - goto cleanup; - } - - cleanup: - VIR_FORCE_FCLOSE(pathfp); - VIR_FREE(path); - - return value; -} static unsigned long -virHostCPUCountThreadSiblings(const char *dir, unsigned int cpu) +virHostCPUCountThreadSiblings(unsigned int cpu) { unsigned long ret = 0; - char *path; + int rv = -1; char *str = NULL; size_t i; - if (virAsprintf(&path, "%s/cpu%u/topology/thread_siblings", - dir, cpu) < 0) - return 0; - - if (!virFileExists(path)) { - /* If file doesn't exist, then pretend our only - * sibling is ourself */ + rv = virSysfsGetCpuValueString(cpu, "topology/thread_siblings", &str); + if (rv == -2) { ret = 1; goto cleanup; } - - if (virFileReadAll(path, SYSFS_THREAD_SIBLINGS_LIST_LENGTH_MAX, &str) < 0) + if (rv < 0) goto cleanup; for (i = 0; str[i] != '\0'; i++) { @@ -281,21 +220,78 @@ virHostCPUCountThreadSiblings(const char *dir, unsigned int cpu) cleanup: VIR_FREE(str); - VIR_FREE(path); return ret; } -static int -virHostCPUParseSocket(const char *dir, - virArch arch, - unsigned int cpu) +int +virHostCPUGetSocket(unsigned int cpu, unsigned int *socket) { - int ret = virHostCPUGetValue(dir, cpu, "topology/physical_package_id", 0); + int tmp; + int ret = virSysfsGetCpuValueInt(cpu, + "topology/physical_package_id", + &tmp); + + /* If the file is not there, it's 0 */ + if (ret == -2) + tmp = 0; + else if (ret < 0) + return -1; - if (ARCH_IS_ARM(arch) || ARCH_IS_PPC(arch) || ARCH_IS_S390(arch)) { - /* arm, ppc and s390(x) has -1 */ - if (ret < 0) - ret = 0; + /* Some architectures might have '-1' validly in the file, but that actually + * means there are no sockets, so from our point of view it's all one socket, + * i.e. socket 0. Similarly when the file does not exist. */ + if (tmp < 0) + tmp = 0; + + *socket = tmp; + + return 0; +} + +int +virHostCPUGetCore(unsigned int cpu, unsigned int *core) +{ + int ret = virSysfsGetCpuValueUint(cpu, "topology/core_id", core); + + /* If the file is not there, it's 0 */ + if (ret == -2) + *core = 0; + else if (ret < 0) + return -1; + + return 0; +} + +int +virHostCPUGetOnline(unsigned int cpu, bool *online) +{ + unsigned int tmp = 0; + int ret = virSysfsGetCpuValueUint(cpu, "online", &tmp); + + + /* If the file is not there, it's online (doesn't support offlining) */ + if (ret == -2) + tmp = 1; + else if (ret < 0) + return -1; + + *online = tmp; + + return 0; +} + +virBitmapPtr +virHostCPUGetSiblingsList(unsigned int cpu) +{ + virBitmapPtr ret = NULL; + int rv = -1; + + rv = virSysfsGetCpuValueBitmap(cpu, "topology/thread_siblings_list", &ret); + if (rv == -2) { + /* If the file doesn't exist, the threadis its only sibling */ + ret = virBitmapNew(cpu + 1); + if (ret) + ignore_value(virBitmapSetBit(ret, cpu)); } return ret; @@ -329,9 +325,9 @@ virHostCPUParseNode(const char *node, virBitmapPtr sockets_map = NULL; virBitmapPtr *cores_maps = NULL; int npresent_cpus = virBitmapSize(present_cpus_map); - int sock_max = 0; - int sock; - int core; + unsigned int sock_max = 0; + unsigned int sock; + unsigned int core; size_t i; int siblings; unsigned int cpu; @@ -366,8 +362,7 @@ virHostCPUParseNode(const char *node, if (!virBitmapIsBitSet(online_cpus_map, cpu)) continue; - /* Parse socket */ - if ((sock = virHostCPUParseSocket(node, arch, cpu)) < 0) + if (virHostCPUGetSocket(cpu, &sock) < 0) goto cleanup; if (sock > ID_MAX) { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -421,8 +416,7 @@ virHostCPUParseNode(const char *node, processors++; - /* Parse socket */ - if ((sock = virHostCPUParseSocket(node, arch, cpu)) < 0) + if (virHostCPUGetSocket(cpu, &sock) < 0) goto cleanup; if (!virBitmapIsBitSet(sockets_map, sock)) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", @@ -435,8 +429,7 @@ virHostCPUParseNode(const char *node, /* logical cpu is equivalent to a core on s390 */ core = cpu; } else { - if ((core = virHostCPUGetValue(node, cpu, - "topology/core_id", 0)) < 0) + if (virHostCPUGetCore(cpu, &core) < 0) goto cleanup; } if (core > ID_MAX) { @@ -449,7 +442,7 @@ virHostCPUParseNode(const char *node, if (virBitmapSetBit(cores_maps[sock], core) < 0) goto cleanup; - if (!(siblings = virHostCPUCountThreadSiblings(node, cpu))) + if (!(siblings = virHostCPUCountThreadSiblings(cpu))) goto cleanup; if (siblings > *threads) @@ -640,7 +633,7 @@ virHostCPUGetInfoPopulateLinux(FILE *cpuinfo, /* OK, we've parsed clock speed out of /proc/cpuinfo. Get the * core, node, socket, thread and topology information from /sys */ - if (virAsprintf(&sysfs_nodedir, "%s/node", sysfs_system_path) < 0) + if (virAsprintf(&sysfs_nodedir, "%s/node", virSysfsGetSystemPath()) < 0) goto cleanup; if (virDirOpenQuiet(&nodedir, sysfs_nodedir) < 0) { @@ -685,7 +678,7 @@ virHostCPUGetInfoPopulateLinux(FILE *cpuinfo, (*nodes)++; if (virAsprintf(&sysfs_cpudir, "%s/node/%s", - sysfs_system_path, nodedirent->d_name) < 0) + virSysfsGetSystemPath(), nodedirent->d_name) < 0) goto cleanup; if ((nodecpus = virHostCPUParseNode(sysfs_cpudir, arch, @@ -719,7 +712,7 @@ virHostCPUGetInfoPopulateLinux(FILE *cpuinfo, fallback: VIR_FREE(sysfs_cpudir); - if (virAsprintf(&sysfs_cpudir, "%s/cpu", sysfs_system_path) < 0) + if (virAsprintf(&sysfs_cpudir, "%s/cpu", virSysfsGetSystemPath()) < 0) goto cleanup; if ((nodecpus = virHostCPUParseNode(sysfs_cpudir, arch, @@ -857,47 +850,24 @@ virHostCPUGetStatsLinux(FILE *procstat, } -static char * -virHostCPUGetGlobalPathLinux(const char *file) -{ - char *path = NULL; - - if (virAsprintf(&path, "%s/cpu/%s", sysfs_system_path, file) < 0) - return NULL; - - return path; -} - -static char * -virHostCPUGetPresentPathLinux(void) -{ - return virHostCPUGetGlobalPathLinux("present"); -} - -static char * -virHostCPUGetOnlinePathLinux(void) -{ - return virHostCPUGetGlobalPathLinux("online"); -} - /* Determine the number of CPUs (maximum CPU id + 1) from a file containing * a list of CPU ids, like the Linux sysfs cpu/present file */ static int -virHostCPUParseCountLinux(const char *path) +virHostCPUParseCountLinux(void) { char *str = NULL; char *tmp; int ret = -1; - if (virFileReadAll(path, 5 * VIR_HOST_CPU_MASK_LEN, &str) < 0) - goto cleanup; + if (virSysfsGetValueString("cpu/present", &str) < 0) + return -1; tmp = str; do { if (virStrToLong_i(tmp, &tmp, 10, &ret) < 0 || !strchr(",-\n", *tmp)) { virReportError(VIR_ERR_NO_SUPPORT, - _("failed to parse %s"), path); + _("failed to parse %s"), str); ret = -1; goto cleanup; } @@ -908,32 +878,6 @@ virHostCPUParseCountLinux(const char *path) VIR_FREE(str); return ret; } - -/* - * Linux maintains cpu bit map under cpu/online. For example, if - * cpuid=5's flag is not set and max cpu is 7, the map file shows - * 0-4,6-7. This function parses it and returns cpumap. - */ -static virBitmapPtr -virHostCPUParseMapLinux(int max_cpuid, const char *path) -{ - virBitmapPtr map = NULL; - char *str = NULL; - - if (virFileReadAll(path, 5 * VIR_HOST_CPU_MASK_LEN, &str) < 0) - goto error; - - if (virBitmapParse(str, &map, max_cpuid) < 0) - goto error; - - VIR_FREE(str); - return map; - - error: - VIR_FREE(str); - virBitmapFree(map); - return NULL; -} #endif @@ -1063,46 +1007,7 @@ int virHostCPUGetCount(void) { #if defined(__linux__) - /* To support older kernels that lack cpu/present, such as 2.6.18 - * in RHEL5, we fall back to count cpu/cpuNN entries; this assumes - * that such kernels also lack hotplug, and therefore cpu/cpuNN - * will be consecutive. - */ - char *present_path = NULL; - char *cpupath = NULL; - int ncpu = -1; - - if (!(present_path = virHostCPUGetPresentPathLinux())) - return -1; - - if (virFileExists(present_path)) { - ncpu = virHostCPUParseCountLinux(present_path); - goto cleanup; - } - - if (virAsprintf(&cpupath, "%s/cpu/cpu0", sysfs_system_path) < 0) - goto cleanup; - if (virFileExists(cpupath)) { - ncpu = 0; - do { - ncpu++; - VIR_FREE(cpupath); - if (virAsprintf(&cpupath, "%s/cpu/cpu%d", - sysfs_system_path, ncpu) < 0) { - ncpu = -1; - goto cleanup; - } - } while (virFileExists(cpupath)); - } else { - /* no cpu/cpu0: we give up */ - virReportError(VIR_ERR_NO_SUPPORT, "%s", - _("host cpu counting not supported on this node")); - } - - cleanup: - VIR_FREE(present_path); - VIR_FREE(cpupath); - return ncpu; + return virHostCPUParseCountLinux(); #elif defined(__FreeBSD__) || defined(__APPLE__) return virHostCPUGetCountAppleFreeBSD(); #else @@ -1126,83 +1031,27 @@ virBitmapPtr virHostCPUGetPresentBitmap(void) { #ifdef __linux__ - virBitmapPtr present_cpus = NULL; - char *present_path = NULL; - int npresent_cpus; - - if ((npresent_cpus = virHostCPUGetCount()) < 0) - goto cleanup; - - if (!(present_path = virHostCPUGetPresentPathLinux())) - goto cleanup; + virBitmapPtr ret = NULL; - /* If the cpu/present file is available, parse it and exit */ - if (virFileExists(present_path)) { - present_cpus = virHostCPUParseMapLinux(npresent_cpus, present_path); - goto cleanup; - } - - /* If the file is not available, we can assume that the kernel is - * too old to support non-consecutive CPU ids and just mark all - * possible CPUs as present */ - if (!(present_cpus = virBitmapNew(npresent_cpus))) - goto cleanup; - - virBitmapSetAll(present_cpus); - - cleanup: - VIR_FREE(present_path); + virSysfsGetValueBitmap("cpu/present", &ret); - return present_cpus; -#endif + return ret; +#else virReportError(VIR_ERR_NO_SUPPORT, "%s", _("node present CPU map not implemented on this platform")); return NULL; +#endif } virBitmapPtr virHostCPUGetOnlineBitmap(void) { #ifdef __linux__ - char *online_path = NULL; - char *cpudir = NULL; - virBitmapPtr cpumap; - int present; - - present = virHostCPUGetCount(); - if (present < 0) - return NULL; - - if (!(online_path = virHostCPUGetOnlinePathLinux())) - return NULL; - if (virFileExists(online_path)) { - cpumap = virHostCPUParseMapLinux(present, online_path); - } else { - size_t i; - - cpumap = virBitmapNew(present); - if (!cpumap) - goto cleanup; + virBitmapPtr ret = NULL; - if (virAsprintf(&cpudir, "%s/cpu", sysfs_system_path) < 0) - goto cleanup; + virSysfsGetValueBitmap("cpu/online", &ret); - for (i = 0; i < present; i++) { - int online = virHostCPUGetValue(cpudir, i, "online", 1); - if (online < 0) { - virBitmapFree(cpumap); - cpumap = NULL; - goto cleanup; - } - if (online) - ignore_value(virBitmapSetBit(cpumap, i)); - } - } - - cleanup: - VIR_FREE(online_path); - VIR_FREE(cpudir); - return cpumap; + return ret; #else virReportError(VIR_ERR_NO_SUPPORT, "%s", _("node online CPU map not implemented on this platform")); diff --git a/src/util/virhostcpu.h b/src/util/virhostcpu.h index 39f7cf8c8814..a4ce655d6a2e 100644 --- a/src/util/virhostcpu.h +++ b/src/util/virhostcpu.h @@ -28,7 +28,6 @@ # include "virarch.h" # include "virbitmap.h" -# define VIR_HOST_CPU_MASK_LEN 1024 int virHostCPUGetStats(int cpuNum, virNodeCPUStatsPtr params, @@ -58,4 +57,10 @@ int virHostCPUStatsAssign(virNodeCPUStatsPtr param, const char *name, unsigned long long value); +int virHostCPUGetSocket(unsigned int cpu, unsigned int *socket); +int virHostCPUGetCore(unsigned int cpu, unsigned int *core); +int virHostCPUGetOnline(unsigned int cpu, bool *online); + +virBitmapPtr virHostCPUGetSiblingsList(unsigned int cpu); + #endif /* __VIR_HOSTCPU_H__*/ diff --git a/src/util/virhostcpupriv.h b/src/util/virhostcpupriv.h index de30983881c2..5e7ae3b88ad3 100644 --- a/src/util/virhostcpupriv.h +++ b/src/util/virhostcpupriv.h @@ -25,8 +25,6 @@ # include "virhostcpu.h" # ifdef __linux__ -void virHostCPUSetSysFSSystemPathLinux(const char *path); - int virHostCPUGetInfoPopulateLinux(FILE *cpuinfo, virArch arch, unsigned int *cpus, diff --git a/tests/virhostcputest.c b/tests/virhostcputest.c index 09be1208de40..10e49ea4f0a4 100644 --- a/tests/virhostcputest.c +++ b/tests/virhostcputest.c @@ -8,6 +8,7 @@ #include "testutils.h" #include "internal.h" #include "virhostcpupriv.h" +#include "virsysfspriv.h" #include "virfile.h" #include "virstring.h" @@ -177,9 +178,9 @@ linuxTestHostCPU(const void *opaque) goto cleanup; } - virHostCPUSetSysFSSystemPathLinux(sysfs_prefix); + virSysfsSetSystemPath(sysfs_prefix); result = linuxTestCompareFiles(cpuinfo, data->arch, output); - virHostCPUSetSysFSSystemPathLinux(NULL); + virSysfsSetSystemPath(NULL); cleanup: VIR_FREE(cpuinfo); -- 2.12.0

There is no reason for it not to be in the utils, all global symbols under that file already have prefix vir* and there is no reason for it to be part of DRIVER_SOURCES because that is just a leftover from older days (pre-driver modules era, I believe). Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- cfg.mk | 2 +- po/POTFILES.in | 2 +- src/Makefile.am | 2 +- src/bhyve/bhyve_driver.c | 2 +- src/conf/virchrdev.c | 2 +- src/libvirt_private.syms | 20 ++++++++++---------- src/libxl/libxl_migration.c | 2 +- src/lxc/lxc_driver.c | 2 +- src/qemu/qemu_driver.c | 2 +- src/qemu/qemu_migration.c | 2 +- src/storage/storage_driver.c | 2 +- src/storage/storage_util.c | 2 +- src/test/test_driver.c | 2 +- src/uml/uml_driver.c | 2 +- src/{fdstream.c => util/virfdstream.c} | 4 ++-- src/{fdstream.h => util/virfdstream.h} | 2 +- src/vbox/vbox_common.c | 2 +- src/xen/xen_driver.c | 2 +- tests/fdstreamtest.c | 2 +- 19 files changed, 29 insertions(+), 29 deletions(-) rename src/{fdstream.c => util/virfdstream.c} (99%) rename src/{fdstream.h => util/virfdstream.h} (97%) diff --git a/cfg.mk b/cfg.mk index bfaea4afb255..36f70bfb93d2 100644 --- a/cfg.mk +++ b/cfg.mk @@ -1101,7 +1101,7 @@ $(srcdir)/src/admin/admin_client.h: $(srcdir)/src/admin/admin_protocol.x # List all syntax-check exemptions: exclude_file_name_regexp--sc_avoid_strcase = ^tools/vsh\.h$$ -_src1=libvirt-stream|fdstream|qemu/qemu_monitor|util/(vircommand|virfile)|xen/xend_internal|rpc/virnetsocket|lxc/lxc_controller|locking/lock_daemon|logging/log_daemon +_src1=libvirt-stream|qemu/qemu_monitor|util/vir(command|file|fdstream)|xen/xend_internal|rpc/virnetsocket|lxc/lxc_controller|locking/lock_daemon|logging/log_daemon _test1=shunloadtest|virnettlscontexttest|virnettlssessiontest|vircgroupmock exclude_file_name_regexp--sc_avoid_write = \ ^(src/($(_src1))|daemon/libvirtd|tools/virsh-console|tests/($(_test1)))\.c$$ diff --git a/po/POTFILES.in b/po/POTFILES.in index 64cb88cfa5a7..2002e6889413 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -67,7 +67,6 @@ src/esx/esx_util.c src/esx/esx_vi.c src/esx/esx_vi_methods.c src/esx/esx_vi_types.c -src/fdstream.c src/hyperv/hyperv_driver.c src/hyperv/hyperv_util.c src/hyperv/hyperv_wmi.c @@ -206,6 +205,7 @@ src/util/virdnsmasq.c src/util/virerror.c src/util/virerror.h src/util/vireventpoll.c +src/util/virfdstream.c src/util/virfile.c src/util/virfirewall.c src/util/virfirmware.c diff --git a/src/Makefile.am b/src/Makefile.am index 2052fb507b70..02db71b0f16e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -113,6 +113,7 @@ UTIL_SOURCES = \ util/virerror.c util/virerror.h \ util/virevent.c util/virevent.h \ util/vireventpoll.c util/vireventpoll.h \ + util/virfdstream.c util/virfdstream.h \ util/virfile.c util/virfile.h \ util/virfirewall.c util/virfirewall.h \ util/virfirewallpriv.h \ @@ -218,7 +219,6 @@ DRIVER_SOURCES = \ driver-stream.h \ internal.h \ $(DATATYPES_SOURCES) \ - fdstream.c fdstream.h \ $(NODE_INFO_SOURCES) \ libvirt.c libvirt_internal.h \ libvirt-domain.c \ diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index 3258c272085d..380af39b0b2a 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -37,7 +37,7 @@ #include "domain_audit.h" #include "domain_event.h" #include "snapshot_conf.h" -#include "fdstream.h" +#include "virfdstream.h" #include "storage_conf.h" #include "node_device_conf.h" #include "virdomainobjlist.h" diff --git a/src/conf/virchrdev.c b/src/conf/virchrdev.c index bca9c37d427e..416a7a129c78 100644 --- a/src/conf/virchrdev.c +++ b/src/conf/virchrdev.c @@ -29,7 +29,7 @@ #include "virchrdev.h" #include "virhash.h" -#include "fdstream.h" +#include "virfdstream.h" #include "internal.h" #include "virthread.h" #include "viralloc.h" diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index c5181e5ff6de..25773364f3bd 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1061,16 +1061,6 @@ virStorageVolClass; virStreamClass; -# fdstream.h -virFDStreamConnectUNIX; -virFDStreamCreateFile; -virFDStreamOpen; -virFDStreamOpenBlockDevice; -virFDStreamOpenFile; -virFDStreamOpenPTY; -virFDStreamSetInternalCloseCb; - - # libvirt_internal.h virConnectSupportsFeature; virDomainMigrateBegin3; @@ -1566,6 +1556,16 @@ virEventPollUpdateHandle; virEventPollUpdateTimeout; +# util/virfdstream.h +virFDStreamConnectUNIX; +virFDStreamCreateFile; +virFDStreamOpen; +virFDStreamOpenBlockDevice; +virFDStreamOpenFile; +virFDStreamOpenPTY; +virFDStreamSetInternalCloseCb; + + # util/virfile.h saferead; safewrite; diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c index 6b5b981f18bc..073cfda64302 100644 --- a/src/libxl/libxl_migration.c +++ b/src/libxl/libxl_migration.c @@ -44,7 +44,7 @@ #include "libxl_migration.h" #include "locking/domain_lock.h" #include "virtypedparam.h" -#include "fdstream.h" +#include "virfdstream.h" #define VIR_FROM_THIS VIR_FROM_LIBXL diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index a2c1052c65fe..5dbd5a6c242c 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -64,7 +64,7 @@ #include "virhook.h" #include "virfile.h" #include "virpidfile.h" -#include "fdstream.h" +#include "virfdstream.h" #include "domain_audit.h" #include "domain_nwfilter.h" #include "nwfilter_conf.h" diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 4aba981a85c7..b3137954ad80 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -86,7 +86,7 @@ #include "virhook.h" #include "virstoragefile.h" #include "virfile.h" -#include "fdstream.h" +#include "virfdstream.h" #include "configmake.h" #include "virthreadpool.h" #include "locking/lock_manager.h" diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index f5711bcf744a..9577f3b258a3 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -49,7 +49,7 @@ #include "virfile.h" #include "virnetdevopenvswitch.h" #include "datatypes.h" -#include "fdstream.h" +#include "virfdstream.h" #include "viruuid.h" #include "virtime.h" #include "locking/domain_lock.h" diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 287a86276c33..61c5e7eff132 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -46,7 +46,7 @@ #include "storage_backend.h" #include "virlog.h" #include "virfile.h" -#include "fdstream.h" +#include "virfdstream.h" #include "configmake.h" #include "virstring.h" #include "viraccessapicheck.h" diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index 38d373ec26c4..7687eb89a0ba 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -67,7 +67,7 @@ #include "stat-time.h" #include "virstring.h" #include "virxml.h" -#include "fdstream.h" +#include "virfdstream.h" #define VIR_FROM_THIS VIR_FROM_STORAGE diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 18eaf56021dd..866949558bb2 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -47,7 +47,7 @@ #include "domain_event.h" #include "network_event.h" #include "snapshot_conf.h" -#include "fdstream.h" +#include "virfdstream.h" #include "storage_conf.h" #include "virstorageobj.h" #include "storage_event.h" diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c index f0c0ad35a8be..18e62663ca86 100644 --- a/src/uml/uml_driver.c +++ b/src/uml/uml_driver.c @@ -58,7 +58,7 @@ #include "domain_nwfilter.h" #include "nwfilter_conf.h" #include "virfile.h" -#include "fdstream.h" +#include "virfdstream.h" #include "configmake.h" #include "virnetdevtap.h" #include "virnodesuspend.h" diff --git a/src/fdstream.c b/src/util/virfdstream.c similarity index 99% rename from src/fdstream.c rename to src/util/virfdstream.c index 3e92577c7985..75b69b611c12 100644 --- a/src/fdstream.c +++ b/src/util/virfdstream.c @@ -1,5 +1,5 @@ /* - * fdstream.c: generic streams impl for file descriptors + * virfdstream.c: generic streams impl for file descriptors * * Copyright (C) 2009-2012, 2014 Red Hat, Inc. * @@ -33,7 +33,7 @@ #include <netinet/in.h> #include <termios.h> -#include "fdstream.h" +#include "virfdstream.h" #include "virerror.h" #include "datatypes.h" #include "virlog.h" diff --git a/src/fdstream.h b/src/util/virfdstream.h similarity index 97% rename from src/fdstream.h rename to src/util/virfdstream.h index 2c913ea14093..32a741e2695d 100644 --- a/src/fdstream.h +++ b/src/util/virfdstream.h @@ -1,5 +1,5 @@ /* - * fdstream.h: generic streams impl for file descriptors + * virfdstream.h: generic streams impl for file descriptors * * Copyright (C) 2009-2012 Red Hat, Inc. * diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c index 96e1ffdc759c..a64d2e89a9bd 100644 --- a/src/vbox/vbox_common.c +++ b/src/vbox/vbox_common.c @@ -37,7 +37,7 @@ #include "virkeycode.h" #include "snapshot_conf.h" #include "vbox_snapshot_conf.h" -#include "fdstream.h" +#include "virfdstream.h" #include "configmake.h" #include "vbox_common.h" diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c index 3f9bfa7a6c38..c88e7ea00751 100644 --- a/src/xen/xen_driver.c +++ b/src/xen/xen_driver.c @@ -59,7 +59,7 @@ #include "node_device_conf.h" #include "virpci.h" #include "viruuid.h" -#include "fdstream.h" +#include "virfdstream.h" #include "virfile.h" #include "viruri.h" #include "vircommand.h" diff --git a/tests/fdstreamtest.c b/tests/fdstreamtest.c index 625fd561d3b3..9c7d65bef6cc 100644 --- a/tests/fdstreamtest.c +++ b/tests/fdstreamtest.c @@ -25,7 +25,7 @@ #include "testutils.h" -#include "fdstream.h" +#include "virfdstream.h" #include "datatypes.h" #include "virerror.h" #include "viralloc.h" -- 2.12.0

There is no "node driver" as there was before, drivers have to do their own ACL checking anyway, so they all specify their functions and nodeinfo is basically just extending conf/capablities. Hence moving the code to src/conf/ is the right way to go. Also that way we can de-duplicate some code that is in virsysfs and/or virhostcpu that got duplicated during the virhostcpu.c split. And Some cleanup is done throughout the changes, like adding the vir* prefix etc. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- po/POTFILES.in | 1 - src/Makefile.am | 3 - src/bhyve/bhyve_capabilities.c | 1 - src/bhyve/bhyve_driver.c | 5 +- src/conf/capabilities.c | 293 ++++++++++++++++++++++++++++- src/conf/capabilities.h | 4 + src/cpu/cpu.c | 4 +- src/libvirt_private.syms | 7 +- src/lxc/lxc_conf.c | 3 +- src/lxc/lxc_driver.c | 3 +- src/nodeinfo.c | 418 ----------------------------------------- src/nodeinfo.h | 32 ---- src/openvz/openvz_conf.c | 3 +- src/openvz/openvz_driver.c | 3 +- src/phyp/phyp_driver.c | 3 +- src/qemu/qemu_capabilities.c | 3 +- src/qemu/qemu_conf.c | 1 - src/qemu/qemu_driver.c | 3 +- src/uml/uml_conf.c | 3 +- src/uml/uml_driver.c | 3 +- src/vbox/vbox_common.c | 5 +- src/vmware/vmware_conf.c | 3 +- src/vz/vz_driver.c | 7 +- src/vz/vz_sdk.c | 1 - src/xen/xen_driver.c | 1 - tests/commandtest.c | 1 - 26 files changed, 314 insertions(+), 500 deletions(-) delete mode 100644 src/nodeinfo.c delete mode 100644 src/nodeinfo.h diff --git a/po/POTFILES.in b/po/POTFILES.in index 2002e6889413..4cffb535066b 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -117,7 +117,6 @@ src/network/leaseshelper.c src/node_device/node_device_driver.c src/node_device/node_device_hal.c src/node_device/node_device_udev.c -src/nodeinfo.c src/nwfilter/nwfilter_dhcpsnoop.c src/nwfilter/nwfilter_driver.c src/nwfilter/nwfilter_ebiptables_driver.c diff --git a/src/Makefile.am b/src/Makefile.am index 02db71b0f16e..a552fd42599b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -204,7 +204,6 @@ util/virkeymaps.h: $(srcdir)/util/keymaps.csv \ <$(srcdir)/util/keymaps.csv >util/virkeymaps.h # Internal generic driver infrastructure -NODE_INFO_SOURCES = nodeinfo.h nodeinfo.c DATATYPES_SOURCES = datatypes.h datatypes.c DRIVER_SOURCES = \ driver.c driver.h \ @@ -219,7 +218,6 @@ DRIVER_SOURCES = \ driver-stream.h \ internal.h \ $(DATATYPES_SOURCES) \ - $(NODE_INFO_SOURCES) \ libvirt.c libvirt_internal.h \ libvirt-domain.c \ libvirt-domain-snapshot.c \ @@ -3167,7 +3165,6 @@ libexec_PROGRAMS += libvirt_lxc libvirt_lxc_SOURCES = \ $(LXC_CONTROLLER_SOURCES) \ - $(NODE_INFO_SOURCES) \ $(DATATYPES_SOURCES) libvirt_lxc_LDFLAGS = \ $(AM_LDFLAGS) \ diff --git a/src/bhyve/bhyve_capabilities.c b/src/bhyve/bhyve_capabilities.c index 169f3644bcbc..29ccc2d97d8f 100644 --- a/src/bhyve/bhyve_capabilities.c +++ b/src/bhyve/bhyve_capabilities.c @@ -31,7 +31,6 @@ #include "virlog.h" #include "virstring.h" #include "cpu/cpu.h" -#include "nodeinfo.h" #include "domain_conf.h" #include "vircommand.h" #include "bhyve_capabilities.h" diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index 380af39b0b2a..74cc5ab219cc 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -50,7 +50,6 @@ #include "virstring.h" #include "cpu/cpu.h" #include "viraccessapicheck.h" -#include "nodeinfo.h" #include "virhostcpu.h" #include "virhostmem.h" #include "conf/domain_capabilities.h" @@ -1207,12 +1206,12 @@ bhyveNodeGetMemoryStats(virConnectPtr conn, static int bhyveNodeGetInfo(virConnectPtr conn, - virNodeInfoPtr nodeinfo) + virNodeInfoPtr nodeinfo) { if (virNodeGetInfoEnsureACL(conn) < 0) return -1; - return nodeGetInfo(nodeinfo); + return virCapabilitiesGetNodeInfo(nodeinfo); } static int diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index 87e274c06675..d798d5364cc2 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -23,19 +23,36 @@ #include <config.h> +#include <stdio.h> +#include <string.h> #include <strings.h> +#include <stdlib.h> +#include <stdint.h> +#include <unistd.h> #include "capabilities.h" -#include "virbuffer.h" -#include "viralloc.h" -#include "viruuid.h" +#include "count-one-bits.h" #include "cpu_conf.h" +#include "domain_conf.h" +#include "physmem.h" +#include "viralloc.h" +#include "virarch.h" +#include "virbuffer.h" #include "virerror.h" +#include "virfile.h" +#include "virhostcpu.h" +#include "virhostmem.h" +#include "virlog.h" +#include "virnuma.h" #include "virstring.h" -#include "domain_conf.h" +#include "virsysfs.h" +#include "virtypedparam.h" +#include "viruuid.h" #define VIR_FROM_THIS VIR_FROM_CAPABILITIES +VIR_LOG_INIT("conf.capabilities") + VIR_ENUM_DECL(virCapsHostPMTarget) VIR_ENUM_IMPL(virCapsHostPMTarget, VIR_NODE_SUSPEND_TARGET_LAST, "suspend_mem", "suspend_disk", "suspend_hybrid"); @@ -1128,3 +1145,271 @@ virCapabilitiesGetCpusForNodemask(virCapsPtr caps, return ret; } + + +int +virCapabilitiesGetNodeInfo(virNodeInfoPtr nodeinfo) +{ + virArch hostarch = virArchFromHost(); + unsigned long long memorybytes; + + memset(nodeinfo, 0, sizeof(*nodeinfo)); + + if (virStrcpyStatic(nodeinfo->model, virArchToString(hostarch)) == NULL) + return -1; + + if (virHostMemGetInfo(&memorybytes, NULL) < 0) + return -1; + nodeinfo->memory = memorybytes / 1024; + + if (virHostCPUGetInfo(hostarch, + &nodeinfo->cpus, &nodeinfo->mhz, + &nodeinfo->nodes, &nodeinfo->sockets, + &nodeinfo->cores, &nodeinfo->threads) < 0) + return -1; + + return 0; +} + +/* returns 1 on success, 0 if the detection failed and -1 on hard error */ +static int +virCapabilitiesFillCPUInfo(int cpu_id ATTRIBUTE_UNUSED, + virCapsHostNUMACellCPUPtr cpu ATTRIBUTE_UNUSED) +{ +#ifdef __linux__ + cpu->id = cpu_id; + + if (virHostCPUGetSocket(cpu_id, &cpu->socket_id) < 0 || + virHostCPUGetCore(cpu_id, &cpu->core_id) < 0) + return -1; + + if (!(cpu->siblings = virHostCPUGetSiblingsList(cpu_id))) + return -1; + + return 0; +#else + virReportError(VIR_ERR_NO_SUPPORT, "%s", + _("node cpu info not implemented on this platform")); + return -1; +#endif +} + +static int +virCapabilitiesGetNUMASiblingInfo(int node, + virCapsHostNUMACellSiblingInfoPtr *siblings, + int *nsiblings) +{ + virCapsHostNUMACellSiblingInfoPtr tmp = NULL; + int tmp_size = 0; + int ret = -1; + int *distances = NULL; + int ndistances = 0; + size_t i; + + if (virNumaGetDistances(node, &distances, &ndistances) < 0) + goto cleanup; + + if (!distances) { + *siblings = NULL; + *nsiblings = 0; + return 0; + } + + if (VIR_ALLOC_N(tmp, ndistances) < 0) + goto cleanup; + + for (i = 0; i < ndistances; i++) { + if (!distances[i]) + continue; + + tmp[tmp_size].node = i; + tmp[tmp_size].distance = distances[i]; + tmp_size++; + } + + if (VIR_REALLOC_N(tmp, tmp_size) < 0) + goto cleanup; + + *siblings = tmp; + *nsiblings = tmp_size; + tmp = NULL; + tmp_size = 0; + ret = 0; + cleanup: + VIR_FREE(distances); + VIR_FREE(tmp); + return ret; +} + +static int +virCapabilitiesGetNUMAPagesInfo(int node, + virCapsHostNUMACellPageInfoPtr *pageinfo, + int *npageinfo) +{ + int ret = -1; + unsigned int *pages_size = NULL, *pages_avail = NULL; + size_t npages, i; + + if (virNumaGetPages(node, &pages_size, &pages_avail, NULL, &npages) < 0) + goto cleanup; + + if (VIR_ALLOC_N(*pageinfo, npages) < 0) + goto cleanup; + *npageinfo = npages; + + for (i = 0; i < npages; i++) { + (*pageinfo)[i].size = pages_size[i]; + (*pageinfo)[i].avail = pages_avail[i]; + } + + ret = 0; + + cleanup: + VIR_FREE(pages_avail); + VIR_FREE(pages_size); + return ret; +} + + +static int +virCapabilitiesInitNUMAFake(virCapsPtr caps) +{ + virNodeInfo nodeinfo; + virCapsHostNUMACellCPUPtr cpus; + int ncpus; + int s, c, t; + int id, cid; + int onlinecpus ATTRIBUTE_UNUSED; + bool tmp; + + if (virCapabilitiesGetNodeInfo(&nodeinfo) < 0) + return -1; + + ncpus = VIR_NODEINFO_MAXCPUS(nodeinfo); + onlinecpus = nodeinfo.cpus; + + if (VIR_ALLOC_N(cpus, ncpus) < 0) + return -1; + + id = cid = 0; + for (s = 0; s < nodeinfo.sockets; s++) { + for (c = 0; c < nodeinfo.cores; c++) { + for (t = 0; t < nodeinfo.threads; t++) { + if (virHostCPUGetOnline(id, &tmp) < 0) + goto error; + if (tmp) { + cpus[cid].id = id; + cpus[cid].socket_id = s; + cpus[cid].core_id = c; + if (!(cpus[cid].siblings = virBitmapNew(ncpus))) + goto error; + ignore_value(virBitmapSetBit(cpus[cid].siblings, id)); + cid++; + } + + id++; + } + } + } + + if (virCapabilitiesAddHostNUMACell(caps, 0, + nodeinfo.memory, +#ifdef __linux__ + onlinecpus, cpus, +#else + ncpus, cpus, +#endif + 0, NULL, + 0, NULL) < 0) + goto error; + + return 0; + + error: + for (; id >= 0; id--) + virBitmapFree(cpus[id].siblings); + VIR_FREE(cpus); + return -1; +} + +int +virCapabilitiesInitNUMA(virCapsPtr caps) +{ + int n; + unsigned long long memory; + virCapsHostNUMACellCPUPtr cpus = NULL; + virBitmapPtr cpumap = NULL; + virCapsHostNUMACellSiblingInfoPtr siblings = NULL; + int nsiblings = 0; + virCapsHostNUMACellPageInfoPtr pageinfo = NULL; + int npageinfo; + int ret = -1; + int ncpus = 0; + int cpu; + bool topology_failed = false; + int max_node; + + if (!virNumaIsAvailable()) + return virCapabilitiesInitNUMAFake(caps); + + if ((max_node = virNumaGetMaxNode()) < 0) + goto cleanup; + + for (n = 0; n <= max_node; n++) { + size_t i; + + if ((ncpus = virNumaGetNodeCPUs(n, &cpumap)) < 0) { + if (ncpus == -2) + continue; + + goto cleanup; + } + + if (VIR_ALLOC_N(cpus, ncpus) < 0) + goto cleanup; + cpu = 0; + + for (i = 0; i < virBitmapSize(cpumap); i++) { + if (virBitmapIsBitSet(cpumap, i)) { + if (virCapabilitiesFillCPUInfo(i, cpus + cpu++) < 0) { + topology_failed = true; + virResetLastError(); + } + } + } + + if (virCapabilitiesGetNUMASiblingInfo(n, &siblings, &nsiblings) < 0) + goto cleanup; + + if (virCapabilitiesGetNUMAPagesInfo(n, &pageinfo, &npageinfo) < 0) + goto cleanup; + + /* Detect the amount of memory in the numa cell in KiB */ + virNumaGetNodeMemory(n, &memory, NULL); + memory >>= 10; + + if (virCapabilitiesAddHostNUMACell(caps, n, memory, + ncpus, cpus, + nsiblings, siblings, + npageinfo, pageinfo) < 0) + goto cleanup; + + cpus = NULL; + siblings = NULL; + pageinfo = NULL; + virBitmapFree(cpumap); + cpumap = NULL; + } + + ret = 0; + + cleanup: + if ((topology_failed || ret < 0) && cpus) + virCapabilitiesClearHostNUMACellCPUTopology(cpus, ncpus); + + virBitmapFree(cpumap); + VIR_FREE(cpus); + VIR_FREE(siblings); + VIR_FREE(pageinfo); + return ret; +} diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h index 8634fda14458..3cb305b50b4a 100644 --- a/src/conf/capabilities.h +++ b/src/conf/capabilities.h @@ -297,4 +297,8 @@ virCapabilitiesFormatXML(virCapsPtr caps); virBitmapPtr virCapabilitiesGetCpusForNodemask(virCapsPtr caps, virBitmapPtr nodemask); +int virCapabilitiesGetNodeInfo(virNodeInfoPtr nodeinfo); + +int virCapabilitiesInitNUMA(virCapsPtr caps); + #endif /* __VIR_CAPABILITIES_H */ diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 484f5fceb090..b88f9955f358 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -26,13 +26,13 @@ #include "virlog.h" #include "viralloc.h" #include "virxml.h" -#include "nodeinfo.h" #include "cpu.h" #include "cpu_map.h" #include "cpu_x86.h" #include "cpu_ppc64.h" #include "cpu_s390.h" #include "cpu_arm.h" +#include "capabilities.h" #include "virstring.h" @@ -468,7 +468,7 @@ virCPUProbeHost(virArch arch) { virNodeInfo nodeinfo; - if (nodeGetInfo(&nodeinfo)) + if (virCapabilitiesGetNodeInfo(&nodeinfo)) return NULL; return virCPUGetHost(arch, VIR_CPU_TYPE_HOST, &nodeinfo, NULL, 0); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 25773364f3bd..06de179554ab 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -57,7 +57,9 @@ virCapabilitiesFreeGuest; virCapabilitiesFreeMachines; virCapabilitiesFreeNUMAInfo; virCapabilitiesGetCpusForNodemask; +virCapabilitiesGetNodeInfo; virCapabilitiesHostSecModelAddBaseLabel; +virCapabilitiesInitNUMA; virCapabilitiesNew; virCapabilitiesSetHostCPU; virCapabilitiesSetNetPrefix; @@ -1131,11 +1133,6 @@ virLogManagerFree; virLogManagerNew; -# nodeinfo.h -nodeCapsInitNUMA; -nodeGetInfo; - - # secret/secret_util.h virSecretGetSecretString; diff --git a/src/lxc/lxc_conf.c b/src/lxc/lxc_conf.c index 538bbbe87d3f..e47b667f582a 100644 --- a/src/lxc/lxc_conf.c +++ b/src/lxc/lxc_conf.c @@ -28,7 +28,6 @@ #include "lxc_conf.h" #include "lxc_domain.h" -#include "nodeinfo.h" #include "virerror.h" #include "virconf.h" #include "viralloc.h" @@ -77,7 +76,7 @@ virCapsPtr virLXCDriverCapsInit(virLXCDriverPtr driver) * unexpected failures. We don't want to break the lxc * driver in this scenario, so log errors & carry on */ - if (nodeCapsInitNUMA(caps) < 0) { + if (virCapabilitiesInitNUMA(caps) < 0) { virCapabilitiesFreeNUMAInfo(caps); VIR_WARN("Failed to query host NUMA topology, disabling NUMA capabilities"); } diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 5dbd5a6c242c..ecd5fbdd4de1 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -57,7 +57,6 @@ #include "virnetdevbridge.h" #include "virnetdevveth.h" #include "virnetdevopenvswitch.h" -#include "nodeinfo.h" #include "virhostcpu.h" #include "virhostmem.h" #include "viruuid.h" @@ -5171,7 +5170,7 @@ lxcNodeGetInfo(virConnectPtr conn, if (virNodeGetInfoEnsureACL(conn) < 0) return -1; - return nodeGetInfo(nodeinfo); + return virCapabilitiesGetNodeInfo(nodeinfo); } diff --git a/src/nodeinfo.c b/src/nodeinfo.c deleted file mode 100644 index f2ded025dc0a..000000000000 --- a/src/nodeinfo.c +++ /dev/null @@ -1,418 +0,0 @@ -/* - * nodeinfo.c: Helper routines for OS specific node information - * - * Copyright (C) 2006-2008, 2010-2015 Red Hat, Inc. - * Copyright (C) 2006 Daniel P. Berrange - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see - * <http://www.gnu.org/licenses/>. - * - * Author: Daniel P. Berrange <berrange@redhat.com> - */ - -#include <config.h> - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include <stdint.h> -#include <errno.h> -#include <sys/utsname.h> -#include "conf/domain_conf.h" -#include <fcntl.h> -#include <sys/ioctl.h> -#include <unistd.h> - -#include "viralloc.h" -#include "nodeinfo.h" -#include "virhostcpu.h" -#include "virhostmem.h" -#include "physmem.h" -#include "virerror.h" -#include "count-one-bits.h" -#include "intprops.h" -#include "virarch.h" -#include "virfile.h" -#include "virtypedparam.h" -#include "virstring.h" -#include "virnuma.h" -#include "virlog.h" - -#define VIR_FROM_THIS VIR_FROM_NONE - -VIR_LOG_INIT("nodeinfo"); - - - -#ifdef __linux__ -# define SYSFS_SYSTEM_PATH "/sys/devices/system" -# define SYSFS_THREAD_SIBLINGS_LIST_LENGTH_MAX 8192 - - -/* Return the positive decimal contents of the given - * DIR/cpu%u/FILE, or -1 on error. If DEFAULT_VALUE is non-negative - * and the file could not be found, return that instead of an error; - * this is useful for machines that cannot hot-unplug cpu0, or where - * hot-unplugging is disabled, or where the kernel is too old - * to support NUMA cells, etc. */ -static int -virNodeGetCpuValue(const char *dir, unsigned int cpu, const char *file, - int default_value) -{ - char *path; - FILE *pathfp; - int value = -1; - char value_str[INT_BUFSIZE_BOUND(value)]; - char *tmp; - - if (virAsprintf(&path, "%s/cpu%u/%s", dir, cpu, file) < 0) - return -1; - - pathfp = fopen(path, "r"); - if (pathfp == NULL) { - if (default_value >= 0 && errno == ENOENT) - value = default_value; - else - virReportSystemError(errno, _("cannot open %s"), path); - goto cleanup; - } - - if (fgets(value_str, sizeof(value_str), pathfp) == NULL) { - virReportSystemError(errno, _("cannot read from %s"), path); - goto cleanup; - } - if (virStrToLong_i(value_str, &tmp, 10, &value) < 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("could not convert '%s' to an integer"), - value_str); - goto cleanup; - } - - cleanup: - VIR_FORCE_FCLOSE(pathfp); - VIR_FREE(path); - - return value; -} - - -static virBitmapPtr -virNodeGetSiblingsListLinux(const char *dir, int cpu_id) -{ - char *path = NULL; - char *buf = NULL; - virBitmapPtr ret = NULL; - - if (virAsprintf(&path, "%s/cpu%u/topology/thread_siblings_list", - dir, cpu_id) < 0) - goto cleanup; - - if (virFileReadAll(path, SYSFS_THREAD_SIBLINGS_LIST_LENGTH_MAX, &buf) < 0) - goto cleanup; - - if (virBitmapParse(buf, &ret, virNumaGetMaxCPUs()) < 0) - goto cleanup; - - cleanup: - VIR_FREE(buf); - VIR_FREE(path); - return ret; -} -#else -# define SYSFS_SYSTEM_PATH "fake" -#endif - - -int -nodeGetInfo(virNodeInfoPtr nodeinfo) -{ - virArch hostarch = virArchFromHost(); - unsigned long long memorybytes; - - memset(nodeinfo, 0, sizeof(*nodeinfo)); - - if (virStrcpyStatic(nodeinfo->model, virArchToString(hostarch)) == NULL) - return -1; - - if (virHostMemGetInfo(&memorybytes, NULL) < 0) - return -1; - nodeinfo->memory = memorybytes / 1024; - - if (virHostCPUGetInfo(hostarch, - &nodeinfo->cpus, &nodeinfo->mhz, - &nodeinfo->nodes, &nodeinfo->sockets, - &nodeinfo->cores, &nodeinfo->threads) < 0) - return -1; - - return 0; -} - - -static int -nodeCapsInitNUMAFake(const char *cpupath ATTRIBUTE_UNUSED, - virCapsPtr caps ATTRIBUTE_UNUSED) -{ - virNodeInfo nodeinfo; - virCapsHostNUMACellCPUPtr cpus; - int ncpus; - int s, c, t; - int id, cid; - int onlinecpus ATTRIBUTE_UNUSED; - - if (nodeGetInfo(&nodeinfo) < 0) - return -1; - - ncpus = VIR_NODEINFO_MAXCPUS(nodeinfo); - onlinecpus = nodeinfo.cpus; - - if (VIR_ALLOC_N(cpus, ncpus) < 0) - return -1; - - id = cid = 0; - for (s = 0; s < nodeinfo.sockets; s++) { - for (c = 0; c < nodeinfo.cores; c++) { - for (t = 0; t < nodeinfo.threads; t++) { -#ifdef __linux__ - if (virNodeGetCpuValue(cpupath, id, "online", 1)) { -#endif - cpus[cid].id = id; - cpus[cid].socket_id = s; - cpus[cid].core_id = c; - if (!(cpus[cid].siblings = virBitmapNew(ncpus))) - goto error; - ignore_value(virBitmapSetBit(cpus[cid].siblings, id)); - cid++; -#ifdef __linux__ - } -#endif - - id++; - } - } - } - - if (virCapabilitiesAddHostNUMACell(caps, 0, - nodeinfo.memory, -#ifdef __linux__ - onlinecpus, cpus, -#else - ncpus, cpus, -#endif - 0, NULL, - 0, NULL) < 0) - goto error; - - return 0; - - error: - for (; id >= 0; id--) - virBitmapFree(cpus[id].siblings); - VIR_FREE(cpus); - return -1; -} - - -/* returns 1 on success, 0 if the detection failed and -1 on hard error */ -static int -virNodeCapsFillCPUInfo(const char *cpupath ATTRIBUTE_UNUSED, - int cpu_id ATTRIBUTE_UNUSED, - virCapsHostNUMACellCPUPtr cpu ATTRIBUTE_UNUSED) -{ -#ifdef __linux__ - int tmp; - cpu->id = cpu_id; - - if ((tmp = virNodeGetCpuValue(cpupath, cpu_id, - "topology/physical_package_id", -1)) < 0) - return 0; - - cpu->socket_id = tmp; - - if ((tmp = virNodeGetCpuValue(cpupath, cpu_id, - "topology/core_id", -1)) < 0) - return 0; - - cpu->core_id = tmp; - - if (!(cpu->siblings = virNodeGetSiblingsListLinux(cpupath, cpu_id))) - return -1; - - return 0; -#else - virReportError(VIR_ERR_NO_SUPPORT, "%s", - _("node cpu info not implemented on this platform")); - return -1; -#endif -} - -static int -virNodeCapsGetSiblingInfo(int node, - virCapsHostNUMACellSiblingInfoPtr *siblings, - int *nsiblings) -{ - virCapsHostNUMACellSiblingInfoPtr tmp = NULL; - int tmp_size = 0; - int ret = -1; - int *distances = NULL; - int ndistances = 0; - size_t i; - - if (virNumaGetDistances(node, &distances, &ndistances) < 0) - goto cleanup; - - if (!distances) { - *siblings = NULL; - *nsiblings = 0; - return 0; - } - - if (VIR_ALLOC_N(tmp, ndistances) < 0) - goto cleanup; - - for (i = 0; i < ndistances; i++) { - if (!distances[i]) - continue; - - tmp[tmp_size].node = i; - tmp[tmp_size].distance = distances[i]; - tmp_size++; - } - - if (VIR_REALLOC_N(tmp, tmp_size) < 0) - goto cleanup; - - *siblings = tmp; - *nsiblings = tmp_size; - tmp = NULL; - tmp_size = 0; - ret = 0; - cleanup: - VIR_FREE(distances); - VIR_FREE(tmp); - return ret; -} - -static int -virNodeCapsGetPagesInfo(int node, - virCapsHostNUMACellPageInfoPtr *pageinfo, - int *npageinfo) -{ - int ret = -1; - unsigned int *pages_size = NULL, *pages_avail = NULL; - size_t npages, i; - - if (virNumaGetPages(node, &pages_size, &pages_avail, NULL, &npages) < 0) - goto cleanup; - - if (VIR_ALLOC_N(*pageinfo, npages) < 0) - goto cleanup; - *npageinfo = npages; - - for (i = 0; i < npages; i++) { - (*pageinfo)[i].size = pages_size[i]; - (*pageinfo)[i].avail = pages_avail[i]; - } - - ret = 0; - - cleanup: - VIR_FREE(pages_avail); - VIR_FREE(pages_size); - return ret; -} - -int -nodeCapsInitNUMA(virCapsPtr caps) -{ - int n; - unsigned long long memory; - virCapsHostNUMACellCPUPtr cpus = NULL; - virBitmapPtr cpumap = NULL; - virCapsHostNUMACellSiblingInfoPtr siblings = NULL; - int nsiblings = 0; - virCapsHostNUMACellPageInfoPtr pageinfo = NULL; - int npageinfo; - int ret = -1; - int ncpus = 0; - int cpu; - bool topology_failed = false; - int max_node; - - if (!virNumaIsAvailable()) { - ret = nodeCapsInitNUMAFake(SYSFS_SYSTEM_PATH "/cpu", caps); - goto cleanup; - } - - if ((max_node = virNumaGetMaxNode()) < 0) - goto cleanup; - - for (n = 0; n <= max_node; n++) { - size_t i; - - if ((ncpus = virNumaGetNodeCPUs(n, &cpumap)) < 0) { - if (ncpus == -2) - continue; - - goto cleanup; - } - - if (VIR_ALLOC_N(cpus, ncpus) < 0) - goto cleanup; - cpu = 0; - - for (i = 0; i < virBitmapSize(cpumap); i++) { - if (virBitmapIsBitSet(cpumap, i)) { - if (virNodeCapsFillCPUInfo(SYSFS_SYSTEM_PATH "/cpu", - i, cpus + cpu++) < 0) { - topology_failed = true; - virResetLastError(); - } - } - } - - if (virNodeCapsGetSiblingInfo(n, &siblings, &nsiblings) < 0) - goto cleanup; - - if (virNodeCapsGetPagesInfo(n, &pageinfo, &npageinfo) < 0) - goto cleanup; - - /* Detect the amount of memory in the numa cell in KiB */ - virNumaGetNodeMemory(n, &memory, NULL); - memory >>= 10; - - if (virCapabilitiesAddHostNUMACell(caps, n, memory, - ncpus, cpus, - nsiblings, siblings, - npageinfo, pageinfo) < 0) - goto cleanup; - - cpus = NULL; - siblings = NULL; - pageinfo = NULL; - virBitmapFree(cpumap); - cpumap = NULL; - } - - ret = 0; - - cleanup: - if ((topology_failed || ret < 0) && cpus) - virCapabilitiesClearHostNUMACellCPUTopology(cpus, ncpus); - - virBitmapFree(cpumap); - VIR_FREE(cpus); - VIR_FREE(siblings); - VIR_FREE(pageinfo); - return ret; -} diff --git a/src/nodeinfo.h b/src/nodeinfo.h deleted file mode 100644 index 3c4dc46d9553..000000000000 --- a/src/nodeinfo.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * nodeinfo.h: Helper routines for OS specific node information - * - * Copyright (C) 2006-2008, 2011-2012 Red Hat, Inc. - * Copyright (C) 2006 Daniel P. Berrange - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see - * <http://www.gnu.org/licenses/>. - * - * Author: Daniel P. Berrange <berrange@redhat.com> - */ - -#ifndef __VIR_NODEINFO_H__ -# define __VIR_NODEINFO_H__ - -# include "capabilities.h" - -int nodeGetInfo(virNodeInfoPtr nodeinfo); -int nodeCapsInitNUMA(virCapsPtr caps); - -#endif /* __VIR_NODEINFO_H__*/ diff --git a/src/openvz/openvz_conf.c b/src/openvz/openvz_conf.c index e4d7634d2eff..196fefb8de19 100644 --- a/src/openvz/openvz_conf.c +++ b/src/openvz/openvz_conf.c @@ -47,7 +47,6 @@ #include "viruuid.h" #include "virbuffer.h" #include "viralloc.h" -#include "nodeinfo.h" #include "virfile.h" #include "vircommand.h" #include "virstring.h" @@ -166,7 +165,7 @@ virCapsPtr openvzCapsInit(void) false, false)) == NULL) goto no_memory; - if (nodeCapsInitNUMA(caps) < 0) + if (virCapabilitiesInitNUMA(caps) < 0) goto no_memory; if ((guest = virCapabilitiesAddGuest(caps, diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c index 01ad7628455a..647c8522ddb5 100644 --- a/src/openvz/openvz_driver.c +++ b/src/openvz/openvz_driver.c @@ -48,7 +48,6 @@ #include "openvz_util.h" #include "virbuffer.h" #include "openvz_conf.h" -#include "nodeinfo.h" #include "virhostcpu.h" #include "virhostmem.h" #include "viralloc.h" @@ -2162,7 +2161,7 @@ static int openvzNodeGetInfo(virConnectPtr conn ATTRIBUTE_UNUSED, virNodeInfoPtr nodeinfo) { - return nodeGetInfo(nodeinfo); + return virCapabilitiesGetNodeInfo(nodeinfo); } diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c index 39fa0264ccf8..1803aa53b744 100644 --- a/src/phyp/phyp_driver.c +++ b/src/phyp/phyp_driver.c @@ -53,7 +53,6 @@ #include "viruuid.h" #include "domain_conf.h" #include "storage_conf.h" -#include "nodeinfo.h" #include "virfile.h" #include "interface_conf.h" #include "phyp_driver.h" @@ -335,7 +334,7 @@ phypCapsInit(void) * unexpected failures. We don't want to break the QEMU * driver in this scenario, so log errors & carry on */ - if (nodeCapsInitNUMA(caps) < 0) { + if (virCapabilitiesInitNUMA(caps) < 0) { virCapabilitiesFreeNUMAInfo(caps); VIR_WARN ("Failed to query host NUMA topology, disabling NUMA capabilities"); diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 8e7b20ba187c..7dafbbc61524 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -31,7 +31,6 @@ #include "virfile.h" #include "virpidfile.h" #include "virprocess.h" -#include "nodeinfo.h" #include "cpu/cpu.h" #include "cpu/cpu_x86.h" #include "domain_conf.h" @@ -1122,7 +1121,7 @@ virCapsPtr virQEMUCapsInit(virQEMUCapsCachePtr cache) * unexpected failures. We don't want to break the QEMU * driver in this scenario, so log errors & carry on */ - if (nodeCapsInitNUMA(caps) < 0) { + if (virCapabilitiesInitNUMA(caps) < 0) { virCapabilitiesFreeNUMAInfo(caps); VIR_WARN("Failed to query host NUMA topology, disabling NUMA capabilities"); } diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 0a338d72e75f..53e55df88fb0 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -45,7 +45,6 @@ #include "viralloc.h" #include "datatypes.h" #include "virxml.h" -#include "nodeinfo.h" #include "virlog.h" #include "cpu/cpu.h" #include "domain_nwfilter.h" diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index b3137954ad80..98f0586ce26b 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -63,7 +63,6 @@ #include "virlog.h" #include "datatypes.h" #include "virbuffer.h" -#include "nodeinfo.h" #include "virhostcpu.h" #include "virhostmem.h" #include "virnetdevtap.h" @@ -18295,7 +18294,7 @@ qemuNodeGetInfo(virConnectPtr conn, if (virNodeGetInfoEnsureACL(conn) < 0) return -1; - return nodeGetInfo(nodeinfo); + return virCapabilitiesGetNodeInfo(nodeinfo); } diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c index 4663c7dee83a..871653c5a64c 100644 --- a/src/uml/uml_conf.c +++ b/src/uml/uml_conf.c @@ -39,7 +39,6 @@ #include "virbuffer.h" #include "virconf.h" #include "viralloc.h" -#include "nodeinfo.h" #include "virlog.h" #include "domain_nwfilter.h" #include "virfile.h" @@ -65,7 +64,7 @@ virCapsPtr umlCapsInit(void) * unexpected failures. We don't want to break the QEMU * driver in this scenario, so log errors & carry on */ - if (nodeCapsInitNUMA(caps) < 0) { + if (virCapabilitiesInitNUMA(caps) < 0) { virCapabilitiesFreeNUMAInfo(caps); VIR_WARN("Failed to query host NUMA topology, disabling NUMA capabilities"); } diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c index 18e62663ca86..f03fdbf68fd6 100644 --- a/src/uml/uml_driver.c +++ b/src/uml/uml_driver.c @@ -45,7 +45,6 @@ #include "uml_driver.h" #include "uml_conf.h" #include "virbuffer.h" -#include "nodeinfo.h" #include "virhostcpu.h" #include "virhostmem.h" #include "capabilities.h" @@ -2770,7 +2769,7 @@ umlNodeGetInfo(virConnectPtr conn, if (virNodeGetInfoEnsureACL(conn) < 0) return -1; - return nodeGetInfo(nodeinfo); + return virCapabilitiesGetNodeInfo(nodeinfo); } diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c index a64d2e89a9bd..b71506ae5dc3 100644 --- a/src/vbox/vbox_common.c +++ b/src/vbox/vbox_common.c @@ -29,7 +29,6 @@ #include "domain_event.h" #include "virlog.h" #include "viralloc.h" -#include "nodeinfo.h" #include "virhostmem.h" #include "virstring.h" #include "virfile.h" @@ -77,7 +76,7 @@ vboxCapsInit(void) false, false)) == NULL) goto no_memory; - if (nodeCapsInitNUMA(caps) < 0) + if (virCapabilitiesInitNUMA(caps) < 0) goto no_memory; if ((guest = virCapabilitiesAddGuest(caps, @@ -7438,7 +7437,7 @@ static int vboxNodeGetInfo(virConnectPtr conn ATTRIBUTE_UNUSED, virNodeInfoPtr nodeinfo) { - return nodeGetInfo(nodeinfo); + return virCapabilitiesGetNodeInfo(nodeinfo); } static int diff --git a/src/vmware/vmware_conf.c b/src/vmware/vmware_conf.c index 3ced61028e97..bf4597c4748a 100644 --- a/src/vmware/vmware_conf.c +++ b/src/vmware/vmware_conf.c @@ -27,7 +27,6 @@ #include "cpu/cpu.h" #include "dirname.h" #include "viralloc.h" -#include "nodeinfo.h" #include "virfile.h" #include "viruuid.h" #include "virerror.h" @@ -66,7 +65,7 @@ vmwareCapsInit(void) false, false)) == NULL) goto error; - if (nodeCapsInitNUMA(caps) < 0) + if (virCapabilitiesInitNUMA(caps) < 0) goto error; /* i686 guests are always supported */ diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 3536491c3994..88f1960eb178 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -47,7 +47,6 @@ #include "configmake.h" #include "virfile.h" #include "virstoragefile.h" -#include "nodeinfo.h" #include "virstring.h" #include "cpu/cpu.h" #include "virtypedparam.h" @@ -116,7 +115,7 @@ vzBuildCapabilities(void) false, false)) == NULL) return NULL; - if (nodeCapsInitNUMA(caps) < 0) + if (virCapabilitiesInitNUMA(caps) < 0) goto error; @@ -129,7 +128,7 @@ vzBuildCapabilities(void) emulators[k], virt_types[k]) < 0) goto error; - if (nodeGetInfo(&nodeinfo)) + if (virCapabilitiesGetNodeInfo(&nodeinfo)) goto error; if (!(caps->host.cpu = virCPUGetHost(caps->host.arch, VIR_CPU_TYPE_HOST, @@ -925,7 +924,7 @@ vzNodeGetInfo(virConnectPtr conn, if (virNodeGetInfoEnsureACL(conn) < 0) return -1; - return nodeGetInfo(nodeinfo); + return virCapabilitiesGetNodeInfo(nodeinfo); } static int vzConnectIsEncrypted(virConnectPtr conn ATTRIBUTE_UNUSED) diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c index 3fd17dbee44a..c1a50fdc68c5 100644 --- a/src/vz/vz_sdk.c +++ b/src/vz/vz_sdk.c @@ -26,7 +26,6 @@ #include "virerror.h" #include "viralloc.h" #include "virstring.h" -#include "nodeinfo.h" #include "virlog.h" #include "datatypes.h" #include "domain_conf.h" diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c index c88e7ea00751..5a94ad79e64c 100644 --- a/src/xen/xen_driver.c +++ b/src/xen/xen_driver.c @@ -64,7 +64,6 @@ #include "viruri.h" #include "vircommand.h" #include "virnodesuspend.h" -#include "nodeinfo.h" #include "virhostmem.h" #include "configmake.h" #include "virstring.h" diff --git a/tests/commandtest.c b/tests/commandtest.c index 7bf5447ad269..bfbf6a42f611 100644 --- a/tests/commandtest.c +++ b/tests/commandtest.c @@ -31,7 +31,6 @@ #include "testutils.h" #include "internal.h" -#include "nodeinfo.h" #include "viralloc.h" #include "vircommand.h" #include "virfile.h" -- 2.12.0

That file has only two exported files and each one of them has different naming. virNode is what all the other files use, so let's use it. It wasn't used before because the clash with public API naming, so let's fix that by shortening the name (there is no other private variant of it anyway). Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/libvirt_private.syms | 2 +- src/lxc/lxc_driver.c | 2 +- src/qemu/qemu_driver.c | 2 +- src/uml/uml_driver.c | 2 +- src/util/virnodesuspend.c | 20 +++++++++++--------- src/util/virnodesuspend.h | 6 +++--- src/xen/xen_driver.c | 2 +- 7 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 06de179554ab..0d3a68a92b87 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2170,7 +2170,7 @@ virNetlinkStartup; # util/virnodesuspend.h -nodeSuspendForDuration; +virNodeSuspend; virNodeSuspendGetTargetMask; diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index ecd5fbdd4de1..27b4b75d8b0f 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -5342,7 +5342,7 @@ lxcNodeSuspendForDuration(virConnectPtr conn, if (virNodeSuspendForDurationEnsureACL(conn) < 0) return -1; - return nodeSuspendForDuration(target, duration, flags); + return virNodeSuspend(target, duration, flags); } diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 98f0586ce26b..2adbd167b45f 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -18402,7 +18402,7 @@ qemuNodeSuspendForDuration(virConnectPtr conn, if (virNodeSuspendForDurationEnsureACL(conn) < 0) return -1; - return nodeSuspendForDuration(target, duration, flags); + return virNodeSuspend(target, duration, flags); } static int diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c index f03fdbf68fd6..532ce3b1f347 100644 --- a/src/uml/uml_driver.c +++ b/src/uml/uml_driver.c @@ -2877,7 +2877,7 @@ umlNodeSuspendForDuration(virConnectPtr conn, if (virNodeSuspendForDurationEnsureACL(conn) < 0) return -1; - return nodeSuspendForDuration(target, duration, flags); + return virNodeSuspend(target, duration, flags); } diff --git a/src/util/virnodesuspend.c b/src/util/virnodesuspend.c index 71b2d4cb7d2b..0af0908e4ae1 100644 --- a/src/util/virnodesuspend.c +++ b/src/util/virnodesuspend.c @@ -96,23 +96,23 @@ static int virNodeSuspendSetNodeWakeup(unsigned long long alarmTime) } /** - * virNodeSuspend: + * virNodeSuspendHelper: * @cmdString: pointer to the command string this thread has to execute. * * Actually perform the suspend operation by invoking the command. * Give a short delay before executing the command so as to give a chance - * to virNodeSuspendForDuration() to return the status to the caller. + * to virNodeSuspend() to return the status to the caller. * If we don't give this delay, that function will not be able to return * the status, since the suspend operation would have begun and hence no * data can be sent through the connection to the caller. However, with * this delay added, the status return is best-effort only. */ -static void virNodeSuspend(void *cmdString) +static void virNodeSuspendHelper(void *cmdString) { virCommandPtr suspendCmd = virCommandNew((const char *)cmdString); /* - * Delay for sometime so that the function nodeSuspendForDuration() + * Delay for sometime so that the function virNodeSuspend() * can return the status to the caller. */ sleep(SUSPEND_DELAY); @@ -131,7 +131,7 @@ static void virNodeSuspend(void *cmdString) } /** - * nodeSuspendForDuration: + * virNodeSuspend: * @conn: pointer to the hypervisor connection * @target: the state to which the host must be suspended to - * VIR_NODE_SUSPEND_TARGET_MEM (Suspend-to-RAM), @@ -157,9 +157,9 @@ static void virNodeSuspend(void *cmdString) * -1 if suspending the node is not supported, or if a previous suspend * operation is still in progress. */ -int nodeSuspendForDuration(unsigned int target, - unsigned long long duration, - unsigned int flags) +int virNodeSuspend(unsigned int target, + unsigned long long duration, + unsigned int flags) { static virThread thread; const char *cmdString = NULL; @@ -219,7 +219,9 @@ int nodeSuspendForDuration(unsigned int target, if (virNodeSuspendSetNodeWakeup(duration) < 0) goto cleanup; - if (virThreadCreate(&thread, false, virNodeSuspend, (void *)cmdString) < 0) { + if (virThreadCreate(&thread, false, + virNodeSuspendHelper, + (void *)cmdString) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Failed to create thread to suspend the host")); goto cleanup; diff --git a/src/util/virnodesuspend.h b/src/util/virnodesuspend.h index b5f67dde0c31..85941bf1ab1e 100644 --- a/src/util/virnodesuspend.h +++ b/src/util/virnodesuspend.h @@ -25,9 +25,9 @@ # include "internal.h" -int nodeSuspendForDuration(unsigned int target, - unsigned long long duration, - unsigned int flags); +int virNodeSuspend(unsigned int target, + unsigned long long duration, + unsigned int flags); int virNodeSuspendGetTargetMask(unsigned int *bitmask); diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c index 5a94ad79e64c..7a2f4a1a60f0 100644 --- a/src/xen/xen_driver.c +++ b/src/xen/xen_driver.c @@ -2596,7 +2596,7 @@ xenUnifiedNodeSuspendForDuration(virConnectPtr conn, if (virNodeSuspendForDurationEnsureACL(conn) < 0) return -1; - return nodeSuspendForDuration(target, duration, flags); + return virNodeSuspend(target, duration, flags); } -- 2.12.0

This way more drivers can utilize the functionality without copying the code. And we can therefore test it in one place for all of them. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/conf/capabilities.c | 22 ++++++++++++++++++++++ src/conf/capabilities.h | 2 ++ src/libvirt_private.syms | 1 + src/qemu/qemu_capabilities.c | 25 +------------------------ 4 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index d798d5364cc2..08907aced1b9 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -1413,3 +1413,25 @@ virCapabilitiesInitNUMA(virCapsPtr caps) VIR_FREE(pageinfo); return ret; } + +int +virCapabilitiesInitPages(virCapsPtr caps) +{ + int ret = -1; + unsigned int *pages_size = NULL; + size_t npages; + + if (virNumaGetPages(-1 /* Magic constant for overall info */, + &pages_size, NULL, NULL, &npages) < 0) + goto cleanup; + + caps->host.pagesSize = pages_size; + pages_size = NULL; + caps->host.nPagesSize = npages; + npages = 0; + + ret = 0; + cleanup: + VIR_FREE(pages_size); + return ret; +} diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h index 3cb305b50b4a..d10eef3afdea 100644 --- a/src/conf/capabilities.h +++ b/src/conf/capabilities.h @@ -299,6 +299,8 @@ virBitmapPtr virCapabilitiesGetCpusForNodemask(virCapsPtr caps, int virCapabilitiesGetNodeInfo(virNodeInfoPtr nodeinfo); +int virCapabilitiesInitPages(virCapsPtr caps); + int virCapabilitiesInitNUMA(virCapsPtr caps); #endif /* __VIR_CAPABILITIES_H */ diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 0d3a68a92b87..00ab8b9dfe63 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -60,6 +60,7 @@ virCapabilitiesGetCpusForNodemask; virCapabilitiesGetNodeInfo; virCapabilitiesHostSecModelAddBaseLabel; virCapabilitiesInitNUMA; +virCapabilitiesInitPages; virCapabilitiesNew; virCapabilitiesSetHostCPU; virCapabilitiesSetNetPrefix; diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 7dafbbc61524..26de4de92756 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1084,29 +1084,6 @@ virQEMUCapsProbeHostCPUForEmulator(virCapsPtr caps, } -static int -virQEMUCapsInitPages(virCapsPtr caps) -{ - int ret = -1; - unsigned int *pages_size = NULL; - size_t npages; - - if (virNumaGetPages(-1 /* Magic constant for overall info */, - &pages_size, NULL, NULL, &npages) < 0) - goto cleanup; - - caps->host.pagesSize = pages_size; - pages_size = NULL; - caps->host.nPagesSize = npages; - npages = 0; - - ret = 0; - cleanup: - VIR_FREE(pages_size); - return ret; -} - - virCapsPtr virQEMUCapsInit(virQEMUCapsCachePtr cache) { virCapsPtr caps; @@ -1134,7 +1111,7 @@ virCapsPtr virQEMUCapsInit(virQEMUCapsCachePtr cache) VIR_WARN("Failed to get host power management capabilities"); /* Add huge pages info */ - if (virQEMUCapsInitPages(caps) < 0) + if (virCapabilitiesInitPages(caps) < 0) VIR_WARN("Failed to get pages info"); /* Add domain migration transport URIs */ -- 2.12.0

We'll stop generating the data on the fly, but rather tst more of our APIs. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings | 1 + .../vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings | 1 + .../vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings | 1 + .../vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings | 1 + .../vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings | 1 + .../vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings | 1 + .../vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/physical_package_id | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings | 1 + tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/online | 1 + tests/vircaps2xmldata/linux-basic/cpu/present | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu0 | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu1 | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu2 | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu3 | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu4 | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu5 | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu6 | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu7 | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu10 | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu11 | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu8 | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu9 | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu12 | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu13 | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu14 | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu15 | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/online | 1 + tests/vircaps2xmldata/linux-basic/node/possible | 1 + 120 files changed, 120 insertions(+) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/online create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/present create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu0 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu1 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu2 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu3 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node0/cpulist create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu4 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu5 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu6 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu7 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node1/cpulist create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu10 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu11 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu8 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu9 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node2/cpulist create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu12 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu13 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu14 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu15 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node3/cpulist create mode 100644 tests/vircaps2xmldata/linux-basic/node/online create mode 100644 tests/vircaps2xmldata/linux-basic/node/possible diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings new file mode 100644 index 000000000000..6a69f92020f5 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings @@ -0,0 +1 @@ +f diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings_list new file mode 100644 index 000000000000..40c7bb2f1a2a --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings_list @@ -0,0 +1 @@ +0-3 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings_list new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings_list @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_id new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings new file mode 100644 index 000000000000..6a69f92020f5 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings @@ -0,0 +1 @@ +f diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings_list new file mode 100644 index 000000000000..40c7bb2f1a2a --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings_list @@ -0,0 +1 @@ +0-3 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings_list new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings_list @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_id new file mode 100644 index 000000000000..f599e28b8ab0 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_id @@ -0,0 +1 @@ +10 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings new file mode 100644 index 000000000000..654412338e4c --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings @@ -0,0 +1 @@ +f00 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings_list new file mode 100644 index 000000000000..8c2cde0e603e --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings_list @@ -0,0 +1 @@ +8-11 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/physical_package_id new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/physical_package_id @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings new file mode 100644 index 000000000000..d411bb7c1aca --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings @@ -0,0 +1 @@ +400 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings_list new file mode 100644 index 000000000000..f599e28b8ab0 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings_list @@ -0,0 +1 @@ +10 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_id new file mode 100644 index 000000000000..b4de39476753 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_id @@ -0,0 +1 @@ +11 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings new file mode 100644 index 000000000000..654412338e4c --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings @@ -0,0 +1 @@ +f00 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings_list new file mode 100644 index 000000000000..8c2cde0e603e --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings_list @@ -0,0 +1 @@ +8-11 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/physical_package_id new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/physical_package_id @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings new file mode 100644 index 000000000000..5ae5aef8442c --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings @@ -0,0 +1 @@ +800 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings_list new file mode 100644 index 000000000000..b4de39476753 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings_list @@ -0,0 +1 @@ +11 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_id new file mode 100644 index 000000000000..48082f72f087 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_id @@ -0,0 +1 @@ +12 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings new file mode 100644 index 000000000000..a830edd60ee9 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings @@ -0,0 +1 @@ +f000 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings_list new file mode 100644 index 000000000000..5b8f3ea33e94 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings_list @@ -0,0 +1 @@ +12-15 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/physical_package_id new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/physical_package_id @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings new file mode 100644 index 000000000000..83b33d238dab --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings @@ -0,0 +1 @@ +1000 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings_list new file mode 100644 index 000000000000..48082f72f087 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings_list @@ -0,0 +1 @@ +12 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_id new file mode 100644 index 000000000000..b1bd38b62a08 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_id @@ -0,0 +1 @@ +13 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings new file mode 100644 index 000000000000..a830edd60ee9 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings @@ -0,0 +1 @@ +f000 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings_list new file mode 100644 index 000000000000..5b8f3ea33e94 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings_list @@ -0,0 +1 @@ +12-15 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/physical_package_id new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/physical_package_id @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings new file mode 100644 index 000000000000..8bd1af11bf28 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings @@ -0,0 +1 @@ +2000 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings_list new file mode 100644 index 000000000000..b1bd38b62a08 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings_list @@ -0,0 +1 @@ +13 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_id new file mode 100644 index 000000000000..8351c19397f4 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_id @@ -0,0 +1 @@ +14 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings new file mode 100644 index 000000000000..a830edd60ee9 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings @@ -0,0 +1 @@ +f000 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings_list new file mode 100644 index 000000000000..5b8f3ea33e94 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings_list @@ -0,0 +1 @@ +12-15 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/physical_package_id new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/physical_package_id @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings new file mode 100644 index 000000000000..26a4dd33f001 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings @@ -0,0 +1 @@ +4000 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings_list new file mode 100644 index 000000000000..8351c19397f4 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings_list @@ -0,0 +1 @@ +14 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_id new file mode 100644 index 000000000000..60d3b2f4a4cd --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_id @@ -0,0 +1 @@ +15 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings new file mode 100644 index 000000000000..a830edd60ee9 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings @@ -0,0 +1 @@ +f000 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings_list new file mode 100644 index 000000000000..5b8f3ea33e94 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings_list @@ -0,0 +1 @@ +12-15 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/physical_package_id new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/physical_package_id @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings new file mode 100644 index 000000000000..e002b3628b34 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings @@ -0,0 +1 @@ +8000 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings_list new file mode 100644 index 000000000000..60d3b2f4a4cd --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings_list @@ -0,0 +1 @@ +15 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_id new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_id @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings new file mode 100644 index 000000000000..6a69f92020f5 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings @@ -0,0 +1 @@ +f diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings_list new file mode 100644 index 000000000000..40c7bb2f1a2a --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings_list @@ -0,0 +1 @@ +0-3 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings new file mode 100644 index 000000000000..b8626c4cff28 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings @@ -0,0 +1 @@ +4 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings_list new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings_list @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_id new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_id @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings new file mode 100644 index 000000000000..6a69f92020f5 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings @@ -0,0 +1 @@ +f diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings_list new file mode 100644 index 000000000000..40c7bb2f1a2a --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings_list @@ -0,0 +1 @@ +0-3 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings new file mode 100644 index 000000000000..45a4fb75db86 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings @@ -0,0 +1 @@ +8 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings_list new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings_list @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_id new file mode 100644 index 000000000000..b8626c4cff28 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_id @@ -0,0 +1 @@ +4 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings new file mode 100644 index 000000000000..844dc808a1d3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings @@ -0,0 +1 @@ +f0 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings_list new file mode 100644 index 000000000000..93fccd3cc623 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings_list @@ -0,0 +1 @@ +4-7 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/physical_package_id new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings new file mode 100644 index 000000000000..f599e28b8ab0 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings @@ -0,0 +1 @@ +10 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings_list new file mode 100644 index 000000000000..b8626c4cff28 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings_list @@ -0,0 +1 @@ +4 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_id new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_id @@ -0,0 +1 @@ +5 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings new file mode 100644 index 000000000000..844dc808a1d3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings @@ -0,0 +1 @@ +f0 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings_list new file mode 100644 index 000000000000..93fccd3cc623 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings_list @@ -0,0 +1 @@ +4-7 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/physical_package_id new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings new file mode 100644 index 000000000000..209e3ef4b624 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings @@ -0,0 +1 @@ +20 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings_list new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings_list @@ -0,0 +1 @@ +5 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_id new file mode 100644 index 000000000000..1e8b31496214 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_id @@ -0,0 +1 @@ +6 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings new file mode 100644 index 000000000000..844dc808a1d3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings @@ -0,0 +1 @@ +f0 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings_list new file mode 100644 index 000000000000..93fccd3cc623 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings_list @@ -0,0 +1 @@ +4-7 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/physical_package_id new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings new file mode 100644 index 000000000000..425151f3a411 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings @@ -0,0 +1 @@ +40 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings_list new file mode 100644 index 000000000000..1e8b31496214 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings_list @@ -0,0 +1 @@ +6 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_id new file mode 100644 index 000000000000..7f8f011eb73d --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_id @@ -0,0 +1 @@ +7 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings new file mode 100644 index 000000000000..844dc808a1d3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings @@ -0,0 +1 @@ +f0 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings_list new file mode 100644 index 000000000000..93fccd3cc623 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings_list @@ -0,0 +1 @@ +4-7 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/physical_package_id new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/physical_package_id @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings new file mode 100644 index 000000000000..d15a2cc44e31 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings @@ -0,0 +1 @@ +80 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings_list new file mode 100644 index 000000000000..7f8f011eb73d --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings_list @@ -0,0 +1 @@ +7 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_id new file mode 100644 index 000000000000..45a4fb75db86 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_id @@ -0,0 +1 @@ +8 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings new file mode 100644 index 000000000000..654412338e4c --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings @@ -0,0 +1 @@ +f00 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings_list new file mode 100644 index 000000000000..8c2cde0e603e --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings_list @@ -0,0 +1 @@ +8-11 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/physical_package_id new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/physical_package_id @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings new file mode 100644 index 000000000000..29d6383b52c1 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings @@ -0,0 +1 @@ +100 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings_list new file mode 100644 index 000000000000..45a4fb75db86 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings_list @@ -0,0 +1 @@ +8 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_id new file mode 100644 index 000000000000..ec635144f600 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_id @@ -0,0 +1 @@ +9 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings new file mode 100644 index 000000000000..654412338e4c --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings @@ -0,0 +1 @@ +f00 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings_list new file mode 100644 index 000000000000..8c2cde0e603e --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings_list @@ -0,0 +1 @@ +8-11 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/physical_package_id b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/physical_package_id new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/physical_package_id @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings new file mode 100644 index 000000000000..08839f6bb296 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings @@ -0,0 +1 @@ +200 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings_list new file mode 100644 index 000000000000..ec635144f600 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings_list @@ -0,0 +1 @@ +9 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/online b/tests/vircaps2xmldata/linux-basic/cpu/online new file mode 100644 index 000000000000..580a385a1d96 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/online @@ -0,0 +1 @@ +0-15 diff --git a/tests/vircaps2xmldata/linux-basic/cpu/present b/tests/vircaps2xmldata/linux-basic/cpu/present new file mode 100644 index 000000000000..580a385a1d96 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/cpu/present @@ -0,0 +1 @@ +0-15 diff --git a/tests/vircaps2xmldata/linux-basic/node/node0/cpu0 b/tests/vircaps2xmldata/linux-basic/node/node0/cpu0 new file mode 120000 index 000000000000..c841bea28b2b --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node0/cpu0 @@ -0,0 +1 @@ +../../cpu/cpu0 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node0/cpu1 b/tests/vircaps2xmldata/linux-basic/node/node0/cpu1 new file mode 120000 index 000000000000..5f4536279e70 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node0/cpu1 @@ -0,0 +1 @@ +../../cpu/cpu1 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node0/cpu2 b/tests/vircaps2xmldata/linux-basic/node/node0/cpu2 new file mode 120000 index 000000000000..2dcca332cecb --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node0/cpu2 @@ -0,0 +1 @@ +../../cpu/cpu2 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node0/cpu3 b/tests/vircaps2xmldata/linux-basic/node/node0/cpu3 new file mode 120000 index 000000000000..c7690e5aa678 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node0/cpu3 @@ -0,0 +1 @@ +../../cpu/cpu3 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node0/cpulist b/tests/vircaps2xmldata/linux-basic/node/node0/cpulist new file mode 100644 index 000000000000..40c7bb2f1a2a --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node0/cpulist @@ -0,0 +1 @@ +0-3 diff --git a/tests/vircaps2xmldata/linux-basic/node/node1/cpu4 b/tests/vircaps2xmldata/linux-basic/node/node1/cpu4 new file mode 120000 index 000000000000..9e77a64eb4c8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node1/cpu4 @@ -0,0 +1 @@ +../../cpu/cpu4 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node1/cpu5 b/tests/vircaps2xmldata/linux-basic/node/node1/cpu5 new file mode 120000 index 000000000000..cc07c3b97bfe --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node1/cpu5 @@ -0,0 +1 @@ +../../cpu/cpu5 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node1/cpu6 b/tests/vircaps2xmldata/linux-basic/node/node1/cpu6 new file mode 120000 index 000000000000..2e7576354f93 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node1/cpu6 @@ -0,0 +1 @@ +../../cpu/cpu6 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node1/cpu7 b/tests/vircaps2xmldata/linux-basic/node/node1/cpu7 new file mode 120000 index 000000000000..09e3f79b43d1 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node1/cpu7 @@ -0,0 +1 @@ +../../cpu/cpu7 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node1/cpulist b/tests/vircaps2xmldata/linux-basic/node/node1/cpulist new file mode 100644 index 000000000000..93fccd3cc623 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node1/cpulist @@ -0,0 +1 @@ +4-7 diff --git a/tests/vircaps2xmldata/linux-basic/node/node2/cpu10 b/tests/vircaps2xmldata/linux-basic/node/node2/cpu10 new file mode 120000 index 000000000000..a6dc6bb10e8b --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node2/cpu10 @@ -0,0 +1 @@ +../../cpu/cpu10 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node2/cpu11 b/tests/vircaps2xmldata/linux-basic/node/node2/cpu11 new file mode 120000 index 000000000000..e29d8982840a --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node2/cpu11 @@ -0,0 +1 @@ +../../cpu/cpu11 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node2/cpu8 b/tests/vircaps2xmldata/linux-basic/node/node2/cpu8 new file mode 120000 index 000000000000..bda10cc34376 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node2/cpu8 @@ -0,0 +1 @@ +../../cpu/cpu8 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node2/cpu9 b/tests/vircaps2xmldata/linux-basic/node/node2/cpu9 new file mode 120000 index 000000000000..1ec1db255a97 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node2/cpu9 @@ -0,0 +1 @@ +../../cpu/cpu9 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node2/cpulist b/tests/vircaps2xmldata/linux-basic/node/node2/cpulist new file mode 100644 index 000000000000..8c2cde0e603e --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node2/cpulist @@ -0,0 +1 @@ +8-11 diff --git a/tests/vircaps2xmldata/linux-basic/node/node3/cpu12 b/tests/vircaps2xmldata/linux-basic/node/node3/cpu12 new file mode 120000 index 000000000000..211519e8ab7e --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node3/cpu12 @@ -0,0 +1 @@ +../../cpu/cpu12 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node3/cpu13 b/tests/vircaps2xmldata/linux-basic/node/node3/cpu13 new file mode 120000 index 000000000000..52d3b6970d25 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node3/cpu13 @@ -0,0 +1 @@ +../../cpu/cpu13 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node3/cpu14 b/tests/vircaps2xmldata/linux-basic/node/node3/cpu14 new file mode 120000 index 000000000000..24cb3b456907 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node3/cpu14 @@ -0,0 +1 @@ +../../cpu/cpu14 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node3/cpu15 b/tests/vircaps2xmldata/linux-basic/node/node3/cpu15 new file mode 120000 index 000000000000..e905d85e46e7 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node3/cpu15 @@ -0,0 +1 @@ +../../cpu/cpu15 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-basic/node/node3/cpulist b/tests/vircaps2xmldata/linux-basic/node/node3/cpulist new file mode 100644 index 000000000000..5b8f3ea33e94 --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/node3/cpulist @@ -0,0 +1 @@ +12-15 diff --git a/tests/vircaps2xmldata/linux-basic/node/online b/tests/vircaps2xmldata/linux-basic/node/online new file mode 100644 index 000000000000..40c7bb2f1a2a --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/online @@ -0,0 +1 @@ +0-3 diff --git a/tests/vircaps2xmldata/linux-basic/node/possible b/tests/vircaps2xmldata/linux-basic/node/possible new file mode 100644 index 000000000000..40c7bb2f1a2a --- /dev/null +++ b/tests/vircaps2xmldata/linux-basic/node/possible @@ -0,0 +1 @@ +0-3 -- 2.12.0

On 24.03.2017 20:00, Martin Kletzander wrote:
We'll stop generating the data on the fly, but rather tst more of our APIs.
s/tst/test/
Signed-off-by: Martin Kletzander <mkletzan@redhat.com> ---
Michal

Bit more test data, this time with complete info copied, mainly with cache information, so we can easily add tests for it. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- .../linux-caches/cpu/cpu0/cache/index0/level | 1 + .../cpu/cpu0/cache/index0/shared_cpu_list | 1 + .../cpu/cpu0/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index0/size | 1 + .../linux-caches/cpu/cpu0/cache/index0/type | 1 + .../linux-caches/cpu/cpu0/cache/index1/level | 1 + .../cpu/cpu0/cache/index1/shared_cpu_list | 1 + .../cpu/cpu0/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index1/size | 1 + .../linux-caches/cpu/cpu0/cache/index1/type | 1 + .../linux-caches/cpu/cpu0/cache/index2/level | 1 + .../cpu/cpu0/cache/index2/shared_cpu_list | 1 + .../cpu/cpu0/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index2/size | 1 + .../linux-caches/cpu/cpu0/cache/index2/type | 1 + .../linux-caches/cpu/cpu0/cache/index3/level | 1 + .../cpu/cpu0/cache/index3/shared_cpu_list | 1 + .../cpu/cpu0/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index3/size | 1 + .../linux-caches/cpu/cpu0/cache/index3/type | 1 + .../linux-caches/cpu/cpu0/topology/core_id | 1 + .../linux-caches/cpu/cpu0/topology/core_siblings | 1 + .../cpu/cpu0/topology/core_siblings_list | 1 + .../cpu/cpu0/topology/physical_package_id | 1 + .../linux-caches/cpu/cpu0/topology/thread_siblings | 1 + .../cpu/cpu0/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu1/cache/index0/level | 1 + .../cpu/cpu1/cache/index0/shared_cpu_list | 1 + .../cpu/cpu1/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index0/size | 1 + .../linux-caches/cpu/cpu1/cache/index0/type | 1 + .../linux-caches/cpu/cpu1/cache/index1/level | 1 + .../cpu/cpu1/cache/index1/shared_cpu_list | 1 + .../cpu/cpu1/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index1/size | 1 + .../linux-caches/cpu/cpu1/cache/index1/type | 1 + .../linux-caches/cpu/cpu1/cache/index2/level | 1 + .../cpu/cpu1/cache/index2/shared_cpu_list | 1 + .../cpu/cpu1/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index2/size | 1 + .../linux-caches/cpu/cpu1/cache/index2/type | 1 + .../linux-caches/cpu/cpu1/cache/index3/level | 1 + .../cpu/cpu1/cache/index3/shared_cpu_list | 1 + .../cpu/cpu1/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index3/size | 1 + .../linux-caches/cpu/cpu1/cache/index3/type | 1 + .../linux-caches/cpu/cpu1/topology/core_id | 1 + .../linux-caches/cpu/cpu1/topology/core_siblings | 1 + .../cpu/cpu1/topology/core_siblings_list | 1 + .../cpu/cpu1/topology/physical_package_id | 1 + .../linux-caches/cpu/cpu1/topology/thread_siblings | 1 + .../cpu/cpu1/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu2/cache/index0/level | 1 + .../cpu/cpu2/cache/index0/shared_cpu_list | 1 + .../cpu/cpu2/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index0/size | 1 + .../linux-caches/cpu/cpu2/cache/index0/type | 1 + .../linux-caches/cpu/cpu2/cache/index1/level | 1 + .../cpu/cpu2/cache/index1/shared_cpu_list | 1 + .../cpu/cpu2/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index1/size | 1 + .../linux-caches/cpu/cpu2/cache/index1/type | 1 + .../linux-caches/cpu/cpu2/cache/index2/level | 1 + .../cpu/cpu2/cache/index2/shared_cpu_list | 1 + .../cpu/cpu2/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index2/size | 1 + .../linux-caches/cpu/cpu2/cache/index2/type | 1 + .../linux-caches/cpu/cpu2/cache/index3/level | 1 + .../cpu/cpu2/cache/index3/shared_cpu_list | 1 + .../cpu/cpu2/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index3/size | 1 + .../linux-caches/cpu/cpu2/cache/index3/type | 1 + .../linux-caches/cpu/cpu2/topology/core_id | 1 + .../linux-caches/cpu/cpu2/topology/core_siblings | 1 + .../cpu/cpu2/topology/core_siblings_list | 1 + .../cpu/cpu2/topology/physical_package_id | 1 + .../linux-caches/cpu/cpu2/topology/thread_siblings | 1 + .../cpu/cpu2/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu3/cache/index0/level | 1 + .../cpu/cpu3/cache/index0/shared_cpu_list | 1 + .../cpu/cpu3/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index0/size | 1 + .../linux-caches/cpu/cpu3/cache/index0/type | 1 + .../linux-caches/cpu/cpu3/cache/index1/level | 1 + .../cpu/cpu3/cache/index1/shared_cpu_list | 1 + .../cpu/cpu3/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index1/size | 1 + .../linux-caches/cpu/cpu3/cache/index1/type | 1 + .../linux-caches/cpu/cpu3/cache/index2/level | 1 + .../cpu/cpu3/cache/index2/shared_cpu_list | 1 + .../cpu/cpu3/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index2/size | 1 + .../linux-caches/cpu/cpu3/cache/index2/type | 1 + .../linux-caches/cpu/cpu3/cache/index3/level | 1 + .../cpu/cpu3/cache/index3/shared_cpu_list | 1 + .../cpu/cpu3/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index3/size | 1 + .../linux-caches/cpu/cpu3/cache/index3/type | 1 + .../linux-caches/cpu/cpu3/topology/core_id | 1 + .../linux-caches/cpu/cpu3/topology/core_siblings | 1 + .../cpu/cpu3/topology/core_siblings_list | 1 + .../cpu/cpu3/topology/physical_package_id | 1 + .../linux-caches/cpu/cpu3/topology/thread_siblings | 1 + .../cpu/cpu3/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu4/cache/index0/level | 1 + .../cpu/cpu4/cache/index0/shared_cpu_list | 1 + .../cpu/cpu4/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index0/size | 1 + .../linux-caches/cpu/cpu4/cache/index0/type | 1 + .../linux-caches/cpu/cpu4/cache/index1/level | 1 + .../cpu/cpu4/cache/index1/shared_cpu_list | 1 + .../cpu/cpu4/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index1/size | 1 + .../linux-caches/cpu/cpu4/cache/index1/type | 1 + .../linux-caches/cpu/cpu4/cache/index2/level | 1 + .../cpu/cpu4/cache/index2/shared_cpu_list | 1 + .../cpu/cpu4/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index2/size | 1 + .../linux-caches/cpu/cpu4/cache/index2/type | 1 + .../linux-caches/cpu/cpu4/cache/index3/level | 1 + .../cpu/cpu4/cache/index3/shared_cpu_list | 1 + .../cpu/cpu4/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index3/size | 1 + .../linux-caches/cpu/cpu4/cache/index3/type | 1 + .../linux-caches/cpu/cpu4/topology/core_id | 1 + .../linux-caches/cpu/cpu4/topology/core_siblings | 1 + .../cpu/cpu4/topology/core_siblings_list | 1 + .../cpu/cpu4/topology/physical_package_id | 1 + .../linux-caches/cpu/cpu4/topology/thread_siblings | 1 + .../cpu/cpu4/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu5/cache/index0/level | 1 + .../cpu/cpu5/cache/index0/shared_cpu_list | 1 + .../cpu/cpu5/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index0/size | 1 + .../linux-caches/cpu/cpu5/cache/index0/type | 1 + .../linux-caches/cpu/cpu5/cache/index1/level | 1 + .../cpu/cpu5/cache/index1/shared_cpu_list | 1 + .../cpu/cpu5/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index1/size | 1 + .../linux-caches/cpu/cpu5/cache/index1/type | 1 + .../linux-caches/cpu/cpu5/cache/index2/level | 1 + .../cpu/cpu5/cache/index2/shared_cpu_list | 1 + .../cpu/cpu5/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index2/size | 1 + .../linux-caches/cpu/cpu5/cache/index2/type | 1 + .../linux-caches/cpu/cpu5/cache/index3/level | 1 + .../cpu/cpu5/cache/index3/shared_cpu_list | 1 + .../cpu/cpu5/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index3/size | 1 + .../linux-caches/cpu/cpu5/cache/index3/type | 1 + .../linux-caches/cpu/cpu5/topology/core_id | 1 + .../linux-caches/cpu/cpu5/topology/core_siblings | 1 + .../cpu/cpu5/topology/core_siblings_list | 1 + .../cpu/cpu5/topology/physical_package_id | 1 + .../linux-caches/cpu/cpu5/topology/thread_siblings | 1 + .../cpu/cpu5/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu6/cache/index0/level | 1 + .../cpu/cpu6/cache/index0/shared_cpu_list | 1 + .../cpu/cpu6/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index0/size | 1 + .../linux-caches/cpu/cpu6/cache/index0/type | 1 + .../linux-caches/cpu/cpu6/cache/index1/level | 1 + .../cpu/cpu6/cache/index1/shared_cpu_list | 1 + .../cpu/cpu6/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index1/size | 1 + .../linux-caches/cpu/cpu6/cache/index1/type | 1 + .../linux-caches/cpu/cpu6/cache/index2/level | 1 + .../cpu/cpu6/cache/index2/shared_cpu_list | 1 + .../cpu/cpu6/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index2/size | 1 + .../linux-caches/cpu/cpu6/cache/index2/type | 1 + .../linux-caches/cpu/cpu6/cache/index3/level | 1 + .../cpu/cpu6/cache/index3/shared_cpu_list | 1 + .../cpu/cpu6/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index3/size | 1 + .../linux-caches/cpu/cpu6/cache/index3/type | 1 + .../linux-caches/cpu/cpu6/topology/core_id | 1 + .../linux-caches/cpu/cpu6/topology/core_siblings | 1 + .../cpu/cpu6/topology/core_siblings_list | 1 + .../cpu/cpu6/topology/physical_package_id | 1 + .../linux-caches/cpu/cpu6/topology/thread_siblings | 1 + .../cpu/cpu6/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu7/cache/index0/level | 1 + .../cpu/cpu7/cache/index0/shared_cpu_list | 1 + .../cpu/cpu7/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index0/size | 1 + .../linux-caches/cpu/cpu7/cache/index0/type | 1 + .../linux-caches/cpu/cpu7/cache/index1/level | 1 + .../cpu/cpu7/cache/index1/shared_cpu_list | 1 + .../cpu/cpu7/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index1/size | 1 + .../linux-caches/cpu/cpu7/cache/index1/type | 1 + .../linux-caches/cpu/cpu7/cache/index2/level | 1 + .../cpu/cpu7/cache/index2/shared_cpu_list | 1 + .../cpu/cpu7/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index2/size | 1 + .../linux-caches/cpu/cpu7/cache/index2/type | 1 + .../linux-caches/cpu/cpu7/cache/index3/level | 1 + .../cpu/cpu7/cache/index3/shared_cpu_list | 1 + .../cpu/cpu7/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index3/size | 1 + .../linux-caches/cpu/cpu7/cache/index3/type | 1 + .../linux-caches/cpu/cpu7/topology/core_id | 1 + .../linux-caches/cpu/cpu7/topology/core_siblings | 1 + .../cpu/cpu7/topology/core_siblings_list | 1 + .../cpu/cpu7/topology/physical_package_id | 1 + .../linux-caches/cpu/cpu7/topology/thread_siblings | 1 + .../cpu/cpu7/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-caches/cpu/kernel_max | 1 + tests/vircaps2xmldata/linux-caches/cpu/online | 1 + tests/vircaps2xmldata/linux-caches/cpu/present | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu0 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu1 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu2 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu3 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu4 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu5 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu6 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu7 | 1 + .../linux-caches/node/node0/cpulist | 1 + .../linux-caches/node/node0/meminfo | 31 ++++++++++++++++++++++ tests/vircaps2xmldata/linux-caches/node/online | 1 + tests/vircaps2xmldata/linux-caches/node/possible | 1 + tests/virhostcpudata/linux-caches1/cpu/offline | 1 + tests/virhostcpudata/linux-caches1/cpu/possible | 1 + 225 files changed, 255 insertions(+) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/kernel_max create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/online create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/present create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu0 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu1 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu2 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu3 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu4 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu5 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu6 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu7 create mode 100644 tests/vircaps2xmldata/linux-caches/node/node0/cpulist create mode 100644 tests/vircaps2xmldata/linux-caches/node/node0/meminfo create mode 100644 tests/vircaps2xmldata/linux-caches/node/online create mode 100644 tests/vircaps2xmldata/linux-caches/node/possible create mode 100644 tests/virhostcpudata/linux-caches1/cpu/offline create mode 100644 tests/virhostcpudata/linux-caches1/cpu/possible diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_list new file mode 100644 index 000000000000..d41d18ba0096 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_list @@ -0,0 +1 @@ +0,4 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_map new file mode 100644 index 000000000000..b4de39476753 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_map @@ -0,0 +1 @@ +11 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/type new file mode 100644 index 000000000000..0b7088ec6330 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/type @@ -0,0 +1 @@ +Data diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_list new file mode 100644 index 000000000000..d41d18ba0096 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_list @@ -0,0 +1 @@ +0,4 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_map new file mode 100644 index 000000000000..b4de39476753 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_map @@ -0,0 +1 @@ +11 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/type new file mode 100644 index 000000000000..9a53cbfa32a8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/type @@ -0,0 +1 @@ +Instruction diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/level new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/level @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_list new file mode 100644 index 000000000000..d41d18ba0096 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_list @@ -0,0 +1 @@ +0,4 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_map new file mode 100644 index 000000000000..b4de39476753 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_map @@ -0,0 +1 @@ +11 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/size new file mode 100644 index 000000000000..7a3f37367c74 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/size @@ -0,0 +1 @@ +256K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/level new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/level @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_map new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_map @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/size new file mode 100644 index 000000000000..8800f263c055 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/size @@ -0,0 +1 @@ +8192K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/physical_package_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings new file mode 100644 index 000000000000..b4de39476753 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings @@ -0,0 +1 @@ +11 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings_list new file mode 100644 index 000000000000..d41d18ba0096 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings_list @@ -0,0 +1 @@ +0,4 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_list new file mode 100644 index 000000000000..cf141eb99931 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_list @@ -0,0 +1 @@ +1,5 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_map new file mode 100644 index 000000000000..2bd5a0a98a36 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_map @@ -0,0 +1 @@ +22 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/type new file mode 100644 index 000000000000..0b7088ec6330 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/type @@ -0,0 +1 @@ +Data diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_list new file mode 100644 index 000000000000..cf141eb99931 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_list @@ -0,0 +1 @@ +1,5 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_map new file mode 100644 index 000000000000..2bd5a0a98a36 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_map @@ -0,0 +1 @@ +22 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/type new file mode 100644 index 000000000000..9a53cbfa32a8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/type @@ -0,0 +1 @@ +Instruction diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/level new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/level @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_list new file mode 100644 index 000000000000..cf141eb99931 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_list @@ -0,0 +1 @@ +1,5 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_map new file mode 100644 index 000000000000..2bd5a0a98a36 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_map @@ -0,0 +1 @@ +22 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/size new file mode 100644 index 000000000000..7a3f37367c74 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/size @@ -0,0 +1 @@ +256K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/level new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/level @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_map new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_map @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/size new file mode 100644 index 000000000000..8800f263c055 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/size @@ -0,0 +1 @@ +8192K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_id new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/physical_package_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings new file mode 100644 index 000000000000..2bd5a0a98a36 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings @@ -0,0 +1 @@ +22 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings_list new file mode 100644 index 000000000000..cf141eb99931 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings_list @@ -0,0 +1 @@ +1,5 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_list new file mode 100644 index 000000000000..62188ed84ff3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_list @@ -0,0 +1 @@ +2,6 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_map new file mode 100644 index 000000000000..c739b42c4d2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_map @@ -0,0 +1 @@ +44 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/type new file mode 100644 index 000000000000..0b7088ec6330 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/type @@ -0,0 +1 @@ +Data diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_list new file mode 100644 index 000000000000..62188ed84ff3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_list @@ -0,0 +1 @@ +2,6 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_map new file mode 100644 index 000000000000..c739b42c4d2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_map @@ -0,0 +1 @@ +44 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/type new file mode 100644 index 000000000000..9a53cbfa32a8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/type @@ -0,0 +1 @@ +Instruction diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/level new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/level @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_list new file mode 100644 index 000000000000..62188ed84ff3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_list @@ -0,0 +1 @@ +2,6 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_map new file mode 100644 index 000000000000..c739b42c4d2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_map @@ -0,0 +1 @@ +44 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/size new file mode 100644 index 000000000000..7a3f37367c74 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/size @@ -0,0 +1 @@ +256K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/level new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/level @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_map new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_map @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/size new file mode 100644 index 000000000000..8800f263c055 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/size @@ -0,0 +1 @@ +8192K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_id new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_id @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/physical_package_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings new file mode 100644 index 000000000000..c739b42c4d2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings @@ -0,0 +1 @@ +44 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings_list new file mode 100644 index 000000000000..62188ed84ff3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings_list @@ -0,0 +1 @@ +2,6 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_list new file mode 100644 index 000000000000..62dcd5976571 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_list @@ -0,0 +1 @@ +3,7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_map new file mode 100644 index 000000000000..d22307c427b8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_map @@ -0,0 +1 @@ +88 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/type new file mode 100644 index 000000000000..0b7088ec6330 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/type @@ -0,0 +1 @@ +Data diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_list new file mode 100644 index 000000000000..62dcd5976571 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_list @@ -0,0 +1 @@ +3,7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_map new file mode 100644 index 000000000000..d22307c427b8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_map @@ -0,0 +1 @@ +88 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/type new file mode 100644 index 000000000000..9a53cbfa32a8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/type @@ -0,0 +1 @@ +Instruction diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/level new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/level @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_list new file mode 100644 index 000000000000..62dcd5976571 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_list @@ -0,0 +1 @@ +3,7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_map new file mode 100644 index 000000000000..d22307c427b8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_map @@ -0,0 +1 @@ +88 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/size new file mode 100644 index 000000000000..7a3f37367c74 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/size @@ -0,0 +1 @@ +256K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/level new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/level @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_map new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_map @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/size new file mode 100644 index 000000000000..8800f263c055 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/size @@ -0,0 +1 @@ +8192K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_id new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_id @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/physical_package_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings new file mode 100644 index 000000000000..d22307c427b8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings @@ -0,0 +1 @@ +88 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings_list new file mode 100644 index 000000000000..62dcd5976571 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings_list @@ -0,0 +1 @@ +3,7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_list new file mode 100644 index 000000000000..d41d18ba0096 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_list @@ -0,0 +1 @@ +0,4 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_map new file mode 100644 index 000000000000..b4de39476753 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_map @@ -0,0 +1 @@ +11 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/type new file mode 100644 index 000000000000..0b7088ec6330 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/type @@ -0,0 +1 @@ +Data diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_list new file mode 100644 index 000000000000..d41d18ba0096 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_list @@ -0,0 +1 @@ +0,4 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_map new file mode 100644 index 000000000000..b4de39476753 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_map @@ -0,0 +1 @@ +11 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/type new file mode 100644 index 000000000000..9a53cbfa32a8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/type @@ -0,0 +1 @@ +Instruction diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/level new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/level @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_list new file mode 100644 index 000000000000..d41d18ba0096 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_list @@ -0,0 +1 @@ +0,4 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_map new file mode 100644 index 000000000000..b4de39476753 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_map @@ -0,0 +1 @@ +11 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/size new file mode 100644 index 000000000000..7a3f37367c74 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/size @@ -0,0 +1 @@ +256K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/level new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/level @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_map new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_map @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/size new file mode 100644 index 000000000000..8800f263c055 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/size @@ -0,0 +1 @@ +8192K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/physical_package_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings new file mode 100644 index 000000000000..b4de39476753 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings @@ -0,0 +1 @@ +11 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings_list new file mode 100644 index 000000000000..d41d18ba0096 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings_list @@ -0,0 +1 @@ +0,4 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_list new file mode 100644 index 000000000000..cf141eb99931 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_list @@ -0,0 +1 @@ +1,5 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_map new file mode 100644 index 000000000000..2bd5a0a98a36 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_map @@ -0,0 +1 @@ +22 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/type new file mode 100644 index 000000000000..0b7088ec6330 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/type @@ -0,0 +1 @@ +Data diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_list new file mode 100644 index 000000000000..cf141eb99931 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_list @@ -0,0 +1 @@ +1,5 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_map new file mode 100644 index 000000000000..2bd5a0a98a36 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_map @@ -0,0 +1 @@ +22 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/type new file mode 100644 index 000000000000..9a53cbfa32a8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/type @@ -0,0 +1 @@ +Instruction diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/level new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/level @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_list new file mode 100644 index 000000000000..cf141eb99931 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_list @@ -0,0 +1 @@ +1,5 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_map new file mode 100644 index 000000000000..2bd5a0a98a36 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_map @@ -0,0 +1 @@ +22 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/size new file mode 100644 index 000000000000..7a3f37367c74 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/size @@ -0,0 +1 @@ +256K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/level new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/level @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_map new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_map @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/size new file mode 100644 index 000000000000..8800f263c055 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/size @@ -0,0 +1 @@ +8192K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_id new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_id @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/physical_package_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings new file mode 100644 index 000000000000..2bd5a0a98a36 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings @@ -0,0 +1 @@ +22 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings_list new file mode 100644 index 000000000000..cf141eb99931 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings_list @@ -0,0 +1 @@ +1,5 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_list new file mode 100644 index 000000000000..62188ed84ff3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_list @@ -0,0 +1 @@ +2,6 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_map new file mode 100644 index 000000000000..c739b42c4d2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_map @@ -0,0 +1 @@ +44 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/type new file mode 100644 index 000000000000..0b7088ec6330 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/type @@ -0,0 +1 @@ +Data diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_list new file mode 100644 index 000000000000..62188ed84ff3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_list @@ -0,0 +1 @@ +2,6 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_map new file mode 100644 index 000000000000..c739b42c4d2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_map @@ -0,0 +1 @@ +44 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/type new file mode 100644 index 000000000000..9a53cbfa32a8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/type @@ -0,0 +1 @@ +Instruction diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/level new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/level @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_list new file mode 100644 index 000000000000..62188ed84ff3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_list @@ -0,0 +1 @@ +2,6 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_map new file mode 100644 index 000000000000..c739b42c4d2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_map @@ -0,0 +1 @@ +44 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/size new file mode 100644 index 000000000000..7a3f37367c74 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/size @@ -0,0 +1 @@ +256K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/level new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/level @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_map new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_map @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/size new file mode 100644 index 000000000000..8800f263c055 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/size @@ -0,0 +1 @@ +8192K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_id new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_id @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/physical_package_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings new file mode 100644 index 000000000000..c739b42c4d2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings @@ -0,0 +1 @@ +44 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings_list new file mode 100644 index 000000000000..62188ed84ff3 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings_list @@ -0,0 +1 @@ +2,6 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_list new file mode 100644 index 000000000000..62dcd5976571 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_list @@ -0,0 +1 @@ +3,7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_map new file mode 100644 index 000000000000..d22307c427b8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_map @@ -0,0 +1 @@ +88 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/type new file mode 100644 index 000000000000..0b7088ec6330 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/type @@ -0,0 +1 @@ +Data diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/level new file mode 100644 index 000000000000..d00491fd7e5b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/level @@ -0,0 +1 @@ +1 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_list new file mode 100644 index 000000000000..62dcd5976571 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_list @@ -0,0 +1 @@ +3,7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_map new file mode 100644 index 000000000000..d22307c427b8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_map @@ -0,0 +1 @@ +88 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/size new file mode 100644 index 000000000000..56b868b2a363 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/size @@ -0,0 +1 @@ +32K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/type new file mode 100644 index 000000000000..9a53cbfa32a8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/type @@ -0,0 +1 @@ +Instruction diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/level new file mode 100644 index 000000000000..0cfbf08886fc --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/level @@ -0,0 +1 @@ +2 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_list new file mode 100644 index 000000000000..62dcd5976571 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_list @@ -0,0 +1 @@ +3,7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_map new file mode 100644 index 000000000000..d22307c427b8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_map @@ -0,0 +1 @@ +88 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/size new file mode 100644 index 000000000000..7a3f37367c74 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/size @@ -0,0 +1 @@ +256K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/level b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/level new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/level @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_map b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_map new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_map @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/size b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/size new file mode 100644 index 000000000000..8800f263c055 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/size @@ -0,0 +1 @@ +8192K diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/type b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/type new file mode 100644 index 000000000000..e4fd9dccda2c --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/type @@ -0,0 +1 @@ +Unified diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_id new file mode 100644 index 000000000000..00750edc07d6 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_id @@ -0,0 +1 @@ +3 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings new file mode 100644 index 000000000000..fcd15acf93ca --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings @@ -0,0 +1 @@ +ff diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings_list new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings_list @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/physical_package_id b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/physical_package_id new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/physical_package_id @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings new file mode 100644 index 000000000000..d22307c427b8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings @@ -0,0 +1 @@ +88 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings_list b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings_list new file mode 100644 index 000000000000..62dcd5976571 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings_list @@ -0,0 +1 @@ +3,7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/kernel_max b/tests/vircaps2xmldata/linux-caches/cpu/kernel_max new file mode 100644 index 000000000000..4b9026d8e2aa --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/kernel_max @@ -0,0 +1 @@ +63 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/online b/tests/vircaps2xmldata/linux-caches/cpu/online new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/online @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/cpu/present b/tests/vircaps2xmldata/linux-caches/cpu/present new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/cpu/present @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/node/node0/cpu0 b/tests/vircaps2xmldata/linux-caches/node/node0/cpu0 new file mode 120000 index 000000000000..c841bea28b2b --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/node0/cpu0 @@ -0,0 +1 @@ +../../cpu/cpu0 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-caches/node/node0/cpu1 b/tests/vircaps2xmldata/linux-caches/node/node0/cpu1 new file mode 120000 index 000000000000..5f4536279e70 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/node0/cpu1 @@ -0,0 +1 @@ +../../cpu/cpu1 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-caches/node/node0/cpu2 b/tests/vircaps2xmldata/linux-caches/node/node0/cpu2 new file mode 120000 index 000000000000..2dcca332cecb --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/node0/cpu2 @@ -0,0 +1 @@ +../../cpu/cpu2 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-caches/node/node0/cpu3 b/tests/vircaps2xmldata/linux-caches/node/node0/cpu3 new file mode 120000 index 000000000000..c7690e5aa678 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/node0/cpu3 @@ -0,0 +1 @@ +../../cpu/cpu3 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-caches/node/node0/cpu4 b/tests/vircaps2xmldata/linux-caches/node/node0/cpu4 new file mode 120000 index 000000000000..9e77a64eb4c8 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/node0/cpu4 @@ -0,0 +1 @@ +../../cpu/cpu4 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-caches/node/node0/cpu5 b/tests/vircaps2xmldata/linux-caches/node/node0/cpu5 new file mode 120000 index 000000000000..cc07c3b97bfe --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/node0/cpu5 @@ -0,0 +1 @@ +../../cpu/cpu5 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-caches/node/node0/cpu6 b/tests/vircaps2xmldata/linux-caches/node/node0/cpu6 new file mode 120000 index 000000000000..2e7576354f93 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/node0/cpu6 @@ -0,0 +1 @@ +../../cpu/cpu6 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-caches/node/node0/cpu7 b/tests/vircaps2xmldata/linux-caches/node/node0/cpu7 new file mode 120000 index 000000000000..09e3f79b43d1 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/node0/cpu7 @@ -0,0 +1 @@ +../../cpu/cpu7 \ No newline at end of file diff --git a/tests/vircaps2xmldata/linux-caches/node/node0/cpulist b/tests/vircaps2xmldata/linux-caches/node/node0/cpulist new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/node0/cpulist @@ -0,0 +1 @@ +0-7 diff --git a/tests/vircaps2xmldata/linux-caches/node/node0/meminfo b/tests/vircaps2xmldata/linux-caches/node/node0/meminfo new file mode 100644 index 000000000000..d24ace03a8bf --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/node0/meminfo @@ -0,0 +1,31 @@ +Node 0 MemTotal: 32817236 kB +Node 0 MemFree: 24057312 kB +Node 0 MemUsed: 8759924 kB +Node 0 Active: 5781052 kB +Node 0 Inactive: 2057944 kB +Node 0 Active(anon): 3647840 kB +Node 0 Inactive(anon): 639564 kB +Node 0 Active(file): 2133212 kB +Node 0 Inactive(file): 1418380 kB +Node 0 Unevictable: 8108 kB +Node 0 Mlocked: 8108 kB +Node 0 Dirty: 1476 kB +Node 0 Writeback: 0 kB +Node 0 FilePages: 4295156 kB +Node 0 Mapped: 658508 kB +Node 0 AnonPages: 2629172 kB +Node 0 Shmem: 737060 kB +Node 0 KernelStack: 8352 kB +Node 0 PageTables: 27724 kB +Node 0 NFS_Unstable: 0 kB +Node 0 Bounce: 0 kB +Node 0 WritebackTmp: 0 kB +Node 0 Slab: 749584 kB +Node 0 SReclaimable: 704676 kB +Node 0 SUnreclaim: 44908 kB +Node 0 AnonHugePages: 546816 kB +Node 0 ShmemHugePages: 0 kB +Node 0 ShmemPmdMapped: 0 kB +Node 0 HugePages_Total: 0 +Node 0 HugePages_Free: 0 +Node 0 HugePages_Surp: 0 diff --git a/tests/vircaps2xmldata/linux-caches/node/online b/tests/vircaps2xmldata/linux-caches/node/online new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/online @@ -0,0 +1 @@ +0 diff --git a/tests/vircaps2xmldata/linux-caches/node/possible b/tests/vircaps2xmldata/linux-caches/node/possible new file mode 100644 index 000000000000..573541ac9702 --- /dev/null +++ b/tests/vircaps2xmldata/linux-caches/node/possible @@ -0,0 +1 @@ +0 diff --git a/tests/virhostcpudata/linux-caches1/cpu/offline b/tests/virhostcpudata/linux-caches1/cpu/offline new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/tests/virhostcpudata/linux-caches1/cpu/offline @@ -0,0 +1 @@ + diff --git a/tests/virhostcpudata/linux-caches1/cpu/possible b/tests/virhostcpudata/linux-caches1/cpu/possible new file mode 100644 index 000000000000..74fc2fb6b048 --- /dev/null +++ b/tests/virhostcpudata/linux-caches1/cpu/possible @@ -0,0 +1 @@ +0-7 -- 2.12.0

All mocked functions are related to numactl/virNuma and rely only on virsysfs, so the paths they touch can be nicely controlled. And because it is so nicely self-contained NUMA mock, it is named numamock (instead of naming it after the test that will use it first). Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- tests/Makefile.am | 7 ++ tests/virnumamock.c | 191 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 198 insertions(+) create mode 100644 tests/virnumamock.c diff --git a/tests/Makefile.am b/tests/Makefile.am index af69a3a843a5..8b78607c81a7 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -206,6 +206,7 @@ test_libraries = libshunload.la \ virnetdevmock.la \ virrandommock.la \ virhostcpumock.la \ + virnumamock.la \ domaincapsmock.la \ $(NULL) @@ -1120,6 +1121,12 @@ virhostcpumock_la_CFLAGS = $(AM_CFLAGS) virhostcpumock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS) virhostcpumock_la_LIBADD = $(MOCKLIBS_LIBS) +virnumamock_la_SOURCES = \ + virnumamock.c +virnumamock_la_CFLAGS = $(AM_CFLAGS) +virnumamock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS) +virnumamock_la_LIBADD = $(MOCKLIBS_LIBS) + if WITH_NSS nsstest_SOURCES = \ nsstest.c testutils.h testutils.c diff --git a/tests/virnumamock.c b/tests/virnumamock.c new file mode 100644 index 000000000000..89e420fa4173 --- /dev/null +++ b/tests/virnumamock.c @@ -0,0 +1,191 @@ +/* + * virnumamock.c: Mock some virNuma functions using virsysfs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * <http://www.gnu.org/licenses/>. + */ + +#include <config.h> + +#include "internal.h" +#include "virmock.h" +#include "virnuma.h" +#include "virfile.h" +#include "viralloc.h" +#include "virstring.h" +#include "virsysfspriv.h" + +#define VIR_FROM_THIS VIR_FROM_NONE + +static int numa_avail = -1; + + +/* + * Poor man's mocked NUMA guesser. We basically check if + * /sys/devices/system/node (where /sys/devices/system can already be mocked or + * changed in the tests) exists and cache the result. + */ +bool +virNumaIsAvailable(void) +{ + if (numa_avail < 0) { + char *sysfs_node_path = NULL; + + if (virAsprintfQuiet(&sysfs_node_path, "%s/node", virSysfsGetSystemPath()) < 0) + return false; + + numa_avail = virFileExists(sysfs_node_path); + + VIR_FREE(sysfs_node_path); + } + + /* + * Quite a few more things need to be mocked if NUMA is not available and + * you are using this file. Do not remove the abort() call below unless you + * make sure all under virCapabilitiesInitNUMAFake() is mocked (and whatever + * might have changed since this comment was added. You are welcome. + */ + if (!numa_avail) + abort(); + + return numa_avail; +} + +int +virNumaGetMaxNode(void) +{ + int ret = -1; + virBitmapPtr map = NULL; + + if (virSysfsGetValueBitmap("node/online", &map) < 0) + return -1; + + ret = virBitmapLastSetBit(map); + virBitmapFree(map); + return ret; +} + +bool +virNumaNodeIsAvailable(int node) +{ + bool ret = false; + virBitmapPtr map = NULL; + + if (virSysfsGetValueBitmap("node/online", &map) < 0) + return false; + + ret = virBitmapIsBitSet(map, node); + virBitmapFree(map); + return ret; +} + +int +virNumaGetNodeMemory(int node, + unsigned long long *memsize, + unsigned long long *memfree) +{ + const unsigned long long base = 1 << 30; + + if (memsize) + *memsize = base * (node + 1); + + if (memfree) + *memfree = base; + + return 0; +} + +int +virNumaGetDistances(int node ATTRIBUTE_UNUSED, + int **distances, + int *ndistances) +{ + *distances = NULL; + *ndistances = 0; + return 0; +} + +/* + * TODO: Adapt virNumaGetHugePageInfo{Path,Dir} to use virsysfs so that the + * paths can be modified and this function can be thrown away and instead we'd + * have copied info from /sys (as we do with /sys/devices/system). + */ +int +virNumaGetPages(int node, + unsigned int **pages_size, + unsigned int **pages_avail, + unsigned int **pages_free, + size_t *npages) +{ + const int pages_def[] = { 4, 2 * 1024, 1 * 1024 * 1024}; + const int npages_def = ARRAY_CARDINALITY(pages_def); + size_t i = 0; + + if (pages_size) + *pages_size = NULL; + + if (pages_avail) + *pages_avail = NULL; + + if (pages_free) + *pages_free = NULL; + + *npages = 0; + + if ((pages_size && VIR_ALLOC_N(*pages_size, npages_def) < 0) || + (pages_avail && VIR_ALLOC_N(*pages_avail, npages_def) < 0) || + (pages_free && VIR_ALLOC_N(*pages_free, npages_def) < 0)) { + VIR_FREE(*pages_size); + VIR_FREE(*pages_avail); + return -1; + } + + *npages = npages_def; + if (pages_size) + memcpy(*pages_size, pages_def, sizeof(pages_def)); + + node++; + if (node <= 0) + node = 32; + + if (pages_avail || pages_free) { + for (i = 0; i < *npages; i++) { + if (pages_avail) + (*pages_avail)[i] = (node + i) * 2 << 10; + if (pages_free) + (*pages_free)[i] = (node + i) * 1 << 10; + } + } + + return 0; +} + +int +virNumaGetNodeCPUs(int node, virBitmapPtr *cpus) +{ + int ret = -1; + char *cpulist = NULL; + + if (virSysfsGetNodeValueString(node, "cpulist", &cpulist) < 0) + return -1; + + *cpus = virBitmapParseUnlimited(cpulist); + if (!cpus) + goto cleanup; + + ret = virBitmapCountBits(*cpus); + cleanup: + VIR_FREE(cpulist); + return ret; +} -- 2.12.0

On 24.03.2017 20:00, Martin Kletzander wrote:
All mocked functions are related to numactl/virNuma and rely only on virsysfs, so the paths they touch can be nicely controlled. And because it is so nicely self-contained NUMA mock, it is named numamock (instead of naming it after the test that will use it first).
I'd also mention that we need the top level API mock, because some APIs might call libnuma API directly, e.g. virNumaIsAvailable(), virNumaGetMaxNode(), and so on. It took me a while to realize why you're not mocking just where src/util/virnuma gets the info from.
Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- tests/Makefile.am | 7 ++ tests/virnumamock.c | 191 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 198 insertions(+) create mode 100644 tests/virnumamock.c
Michal

[...]
+int +virNumaGetNodeCPUs(int node, virBitmapPtr *cpus) +{ + int ret = -1; + char *cpulist = NULL; + + if (virSysfsGetNodeValueString(node, "cpulist", &cpulist) < 0) + return -1; + + *cpus = virBitmapParseUnlimited(cpulist); + if (!cpus)
I think you meant "if (!*cpus)" (Coverity complained about checking for NULL cpus before assigning to it). John
+ goto cleanup; + + ret = virBitmapCountBits(*cpus); + cleanup: + VIR_FREE(cpulist); + return ret; +}

Instead of generating all of the capabilities, let's test more of our code by probing sysfs data. This test needs quite some mocking for now, but it paves the road for more future enhancements (hugepages probing, for example). Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- tests/vircaps2xmldata/vircaps-aarch64-basic.xml | 64 ++++++++++++ tests/vircaps2xmldata/vircaps-basic-4-4-2G.xml | 74 ------------- tests/vircaps2xmldata/vircaps-x86_64-basic.xml | 62 +++++++++++ tests/vircaps2xmldata/vircaps-x86_64-caches.xml | 33 ++++++ tests/vircaps2xmltest.c | 133 +++++++++--------------- 5 files changed, 209 insertions(+), 157 deletions(-) create mode 100644 tests/vircaps2xmldata/vircaps-aarch64-basic.xml delete mode 100644 tests/vircaps2xmldata/vircaps-basic-4-4-2G.xml create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-basic.xml create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-caches.xml diff --git a/tests/vircaps2xmldata/vircaps-aarch64-basic.xml b/tests/vircaps2xmldata/vircaps-aarch64-basic.xml new file mode 100644 index 000000000000..ce156a364e1c --- /dev/null +++ b/tests/vircaps2xmldata/vircaps-aarch64-basic.xml @@ -0,0 +1,64 @@ +<capabilities> + + <host> + <cpu> + <arch>aarch64</arch> + </cpu> + <power_management/> + <migration_features> + </migration_features> + <topology> + <cells num='4'> + <cell id='0'> + <memory unit='KiB'>1048576</memory> + <pages unit='KiB' size='4'>2048</pages> + <pages unit='KiB' size='2048'>4096</pages> + <pages unit='KiB' size='1048576'>6144</pages> + <cpus num='4'> + <cpu id='0' socket_id='0' core_id='0' siblings='0'/> + <cpu id='1' socket_id='0' core_id='1' siblings='1'/> + <cpu id='2' socket_id='0' core_id='2' siblings='2'/> + <cpu id='3' socket_id='0' core_id='3' siblings='3'/> + </cpus> + </cell> + <cell id='1'> + <memory unit='KiB'>2097152</memory> + <pages unit='KiB' size='4'>4096</pages> + <pages unit='KiB' size='2048'>6144</pages> + <pages unit='KiB' size='1048576'>8192</pages> + <cpus num='4'> + <cpu id='4' socket_id='1' core_id='4' siblings='4'/> + <cpu id='5' socket_id='1' core_id='5' siblings='5'/> + <cpu id='6' socket_id='1' core_id='6' siblings='6'/> + <cpu id='7' socket_id='1' core_id='7' siblings='7'/> + </cpus> + </cell> + <cell id='2'> + <memory unit='KiB'>3145728</memory> + <pages unit='KiB' size='4'>6144</pages> + <pages unit='KiB' size='2048'>8192</pages> + <pages unit='KiB' size='1048576'>10240</pages> + <cpus num='4'> + <cpu id='8' socket_id='2' core_id='8' siblings='8'/> + <cpu id='9' socket_id='2' core_id='9' siblings='9'/> + <cpu id='10' socket_id='2' core_id='10' siblings='10'/> + <cpu id='11' socket_id='2' core_id='11' siblings='11'/> + </cpus> + </cell> + <cell id='3'> + <memory unit='KiB'>4194304</memory> + <pages unit='KiB' size='4'>8192</pages> + <pages unit='KiB' size='2048'>10240</pages> + <pages unit='KiB' size='1048576'>12288</pages> + <cpus num='4'> + <cpu id='12' socket_id='3' core_id='12' siblings='12'/> + <cpu id='13' socket_id='3' core_id='13' siblings='13'/> + <cpu id='14' socket_id='3' core_id='14' siblings='14'/> + <cpu id='15' socket_id='3' core_id='15' siblings='15'/> + </cpus> + </cell> + </cells> + </topology> + </host> + +</capabilities> diff --git a/tests/vircaps2xmldata/vircaps-basic-4-4-2G.xml b/tests/vircaps2xmldata/vircaps-basic-4-4-2G.xml deleted file mode 100644 index 8694f87d1f94..000000000000 --- a/tests/vircaps2xmldata/vircaps-basic-4-4-2G.xml +++ /dev/null @@ -1,74 +0,0 @@ -<capabilities> - - <host> - <cpu> - <arch>x86_64</arch> - </cpu> - <power_management/> - <topology> - <cells num='4'> - <cell id='0'> - <memory unit='KiB'>2097152</memory> - <distances> - <sibling id='0' value='10'/> - <sibling id='1' value='20'/> - <sibling id='2' value='20'/> - <sibling id='3' value='20'/> - </distances> - <cpus num='4'> - <cpu id='0' socket_id='0' core_id='0' siblings='0'/> - <cpu id='0' socket_id='0' core_id='1' siblings='0'/> - <cpu id='0' socket_id='0' core_id='2' siblings='0'/> - <cpu id='0' socket_id='0' core_id='3' siblings='0'/> - </cpus> - </cell> - <cell id='1'> - <memory unit='KiB'>2097152</memory> - <distances> - <sibling id='0' value='20'/> - <sibling id='1' value='10'/> - <sibling id='2' value='20'/> - <sibling id='3' value='20'/> - </distances> - <cpus num='4'> - <cpu id='1' socket_id='1' core_id='1' siblings='1'/> - <cpu id='1' socket_id='1' core_id='2' siblings='1'/> - <cpu id='1' socket_id='1' core_id='3' siblings='1'/> - <cpu id='1' socket_id='1' core_id='4' siblings='1'/> - </cpus> - </cell> - <cell id='2'> - <memory unit='KiB'>2097152</memory> - <distances> - <sibling id='0' value='20'/> - <sibling id='1' value='20'/> - <sibling id='2' value='10'/> - <sibling id='3' value='20'/> - </distances> - <cpus num='4'> - <cpu id='2' socket_id='2' core_id='2' siblings='2'/> - <cpu id='2' socket_id='2' core_id='3' siblings='2'/> - <cpu id='2' socket_id='2' core_id='4' siblings='2'/> - <cpu id='2' socket_id='2' core_id='5' siblings='2'/> - </cpus> - </cell> - <cell id='3'> - <memory unit='KiB'>2097152</memory> - <distances> - <sibling id='0' value='20'/> - <sibling id='1' value='20'/> - <sibling id='2' value='20'/> - <sibling id='3' value='10'/> - </distances> - <cpus num='4'> - <cpu id='3' socket_id='3' core_id='3' siblings='3'/> - <cpu id='3' socket_id='3' core_id='4' siblings='3'/> - <cpu id='3' socket_id='3' core_id='5' siblings='3'/> - <cpu id='3' socket_id='3' core_id='6' siblings='3'/> - </cpus> - </cell> - </cells> - </topology> - </host> - -</capabilities> diff --git a/tests/vircaps2xmldata/vircaps-x86_64-basic.xml b/tests/vircaps2xmldata/vircaps-x86_64-basic.xml new file mode 100644 index 000000000000..1f2c6659a5cb --- /dev/null +++ b/tests/vircaps2xmldata/vircaps-x86_64-basic.xml @@ -0,0 +1,62 @@ +<capabilities> + + <host> + <cpu> + <arch>x86_64</arch> + </cpu> + <power_management/> + <topology> + <cells num='4'> + <cell id='0'> + <memory unit='KiB'>1048576</memory> + <pages unit='KiB' size='4'>2048</pages> + <pages unit='KiB' size='2048'>4096</pages> + <pages unit='KiB' size='1048576'>6144</pages> + <cpus num='4'> + <cpu id='0' socket_id='0' core_id='0' siblings='0'/> + <cpu id='1' socket_id='0' core_id='1' siblings='1'/> + <cpu id='2' socket_id='0' core_id='2' siblings='2'/> + <cpu id='3' socket_id='0' core_id='3' siblings='3'/> + </cpus> + </cell> + <cell id='1'> + <memory unit='KiB'>2097152</memory> + <pages unit='KiB' size='4'>4096</pages> + <pages unit='KiB' size='2048'>6144</pages> + <pages unit='KiB' size='1048576'>8192</pages> + <cpus num='4'> + <cpu id='4' socket_id='1' core_id='4' siblings='4'/> + <cpu id='5' socket_id='1' core_id='5' siblings='5'/> + <cpu id='6' socket_id='1' core_id='6' siblings='6'/> + <cpu id='7' socket_id='1' core_id='7' siblings='7'/> + </cpus> + </cell> + <cell id='2'> + <memory unit='KiB'>3145728</memory> + <pages unit='KiB' size='4'>6144</pages> + <pages unit='KiB' size='2048'>8192</pages> + <pages unit='KiB' size='1048576'>10240</pages> + <cpus num='4'> + <cpu id='8' socket_id='2' core_id='8' siblings='8'/> + <cpu id='9' socket_id='2' core_id='9' siblings='9'/> + <cpu id='10' socket_id='2' core_id='10' siblings='10'/> + <cpu id='11' socket_id='2' core_id='11' siblings='11'/> + </cpus> + </cell> + <cell id='3'> + <memory unit='KiB'>4194304</memory> + <pages unit='KiB' size='4'>8192</pages> + <pages unit='KiB' size='2048'>10240</pages> + <pages unit='KiB' size='1048576'>12288</pages> + <cpus num='4'> + <cpu id='12' socket_id='3' core_id='12' siblings='12'/> + <cpu id='13' socket_id='3' core_id='13' siblings='13'/> + <cpu id='14' socket_id='3' core_id='14' siblings='14'/> + <cpu id='15' socket_id='3' core_id='15' siblings='15'/> + </cpus> + </cell> + </cells> + </topology> + </host> + +</capabilities> diff --git a/tests/vircaps2xmldata/vircaps-x86_64-caches.xml b/tests/vircaps2xmldata/vircaps-x86_64-caches.xml new file mode 100644 index 000000000000..88f2ec62277e --- /dev/null +++ b/tests/vircaps2xmldata/vircaps-x86_64-caches.xml @@ -0,0 +1,33 @@ +<capabilities> + + <host> + <cpu> + <arch>x86_64</arch> + </cpu> + <power_management/> + <migration_features> + <live/> + </migration_features> + <topology> + <cells num='1'> + <cell id='0'> + <memory unit='KiB'>1048576</memory> + <pages unit='KiB' size='4'>2048</pages> + <pages unit='KiB' size='2048'>4096</pages> + <pages unit='KiB' size='1048576'>6144</pages> + <cpus num='8'> + <cpu id='0' socket_id='0' core_id='0' siblings='0,4'/> + <cpu id='1' socket_id='0' core_id='1' siblings='1,5'/> + <cpu id='2' socket_id='0' core_id='2' siblings='2,6'/> + <cpu id='3' socket_id='0' core_id='3' siblings='3,7'/> + <cpu id='4' socket_id='0' core_id='0' siblings='0,4'/> + <cpu id='5' socket_id='0' core_id='1' siblings='1,5'/> + <cpu id='6' socket_id='0' core_id='2' siblings='2,6'/> + <cpu id='7' socket_id='0' core_id='3' siblings='3,7'/> + </cpus> + </cell> + </cells> + </topology> + </host> + +</capabilities> diff --git a/tests/vircaps2xmltest.c b/tests/vircaps2xmltest.c index 3e9e06bc0967..4dccd452cc82 100644 --- a/tests/vircaps2xmltest.c +++ b/tests/vircaps2xmltest.c @@ -25,99 +25,51 @@ #include "testutils.h" #include "capabilities.h" #include "virbitmap.h" +#include "virsysfspriv.h" #define VIR_FROM_THIS VIR_FROM_NONE -static virCapsPtr -buildVirCapabilities(int max_cells, - int max_cpus_in_cell, - int max_mem_in_cell) -{ - virCapsPtr caps; - virCapsHostNUMACellCPUPtr cell_cpus = NULL; - virCapsHostNUMACellSiblingInfoPtr siblings = NULL; - int core_id, cell_id, nsiblings; - int id; - size_t i; - - if ((caps = virCapabilitiesNew(VIR_ARCH_X86_64, false, false)) == NULL) - goto error; - - id = 0; - for (cell_id = 0; cell_id < max_cells; cell_id++) { - if (VIR_ALLOC_N(cell_cpus, max_cpus_in_cell) < 0) - goto error; - - for (core_id = 0; core_id < max_cpus_in_cell; core_id++) { - cell_cpus[core_id].id = id; - cell_cpus[core_id].socket_id = cell_id; - cell_cpus[core_id].core_id = id + core_id; - if (!(cell_cpus[core_id].siblings = - virBitmapNew(max_cpus_in_cell))) - goto error; - ignore_value(virBitmapSetBit(cell_cpus[core_id].siblings, id)); - } - id++; - - if (VIR_ALLOC_N(siblings, max_cells) < 0) - goto error; - nsiblings = max_cells; - - for (i = 0; i < nsiblings; i++) { - siblings[i].node = i; - /* Some magical constants, see virNumaGetDistances() - * for their description. */ - siblings[i].distance = cell_id == i ? 10 : 20; - } - - if (virCapabilitiesAddHostNUMACell(caps, cell_id, - max_mem_in_cell, - max_cpus_in_cell, cell_cpus, - nsiblings, siblings, - 0, NULL) < 0) - goto error; - - cell_cpus = NULL; - siblings = NULL; - } - - return caps; - - error: - virCapabilitiesClearHostNUMACellCPUTopology(cell_cpus, max_cpus_in_cell); - VIR_FREE(cell_cpus); - VIR_FREE(siblings); - virObjectUnref(caps); - return NULL; -} +#ifdef __linux__ - -struct virCapabilitiesFormatData { +struct virCapabilitiesData { const char *filename; - int max_cells; - int max_cpus_in_cell; - int max_mem_in_cell; + virArch arch; + bool offlineMigrate; + bool liveMigrate; }; static int -test_virCapabilitiesFormat(const void *opaque) +test_virCapabilities(const void *opaque) { - struct virCapabilitiesFormatData *data = (struct virCapabilitiesFormatData *) opaque; + struct virCapabilitiesData *data = (struct virCapabilitiesData *) opaque; + const char *archStr = virArchToString(data->arch); virCapsPtr caps = NULL; char *capsXML = NULL; char *path = NULL; + char *dir = NULL; int ret = -1; - if (!(caps = buildVirCapabilities(data->max_cells, data->max_cpus_in_cell, - data->max_mem_in_cell))) + if (virAsprintf(&dir, "%s/vircaps2xmldata/linux-%s", + abs_srcdir, data->filename) < 0) + goto cleanup; + + virSysfsSetSystemPath(dir); + caps = virCapabilitiesNew(data->arch, data->offlineMigrate, data->liveMigrate); + + if (!caps) + goto cleanup; + + if (virCapabilitiesInitNUMA(caps) < 0) goto cleanup; + virSysfsSetSystemPath(NULL); + if (!(capsXML = virCapabilitiesFormatXML(caps))) goto cleanup; - if (virAsprintf(&path, "%s/vircaps2xmldata/vircaps-%s.xml", - abs_srcdir, data->filename) < 0) + if (virAsprintf(&path, "%s/vircaps2xmldata/vircaps-%s-%s.xml", + abs_srcdir, archStr, data->filename) < 0) goto cleanup; if (virTestCompareToFile(capsXML, path) < 0) @@ -126,6 +78,7 @@ test_virCapabilitiesFormat(const void *opaque) ret = 0; cleanup: + VIR_FREE(dir); VIR_FREE(path); VIR_FREE(capsXML); virObjectUnref(caps); @@ -137,19 +90,33 @@ mymain(void) { int ret = 0; -#define DO_TEST(filename, max_cells, \ - max_cpus_in_cell, max_mem_in_cell) \ - do { \ - struct virCapabilitiesFormatData data = {filename, max_cells, \ - max_cpus_in_cell, \ - max_mem_in_cell}; \ - if (virTestRun(filename, test_virCapabilitiesFormat, &data) < 0) \ - ret = -1; \ +# define DO_TEST_FULL(filename, arch, offlineMigrate, liveMigrate) \ + do { \ + struct virCapabilitiesData data = {filename, arch, \ + offlineMigrate, \ + liveMigrate}; \ + if (virTestRun(filename, test_virCapabilities, &data) < 0) \ + ret = -1; \ } while (0) - DO_TEST("basic-4-4-2G", 4, 4, 2*1024*1024); +# define DO_TEST(filename, arch) DO_TEST_FULL(filename, arch, true, true) + + DO_TEST_FULL("basic", VIR_ARCH_X86_64, false, false); + DO_TEST_FULL("basic", VIR_ARCH_AARCH64, true, false); + + DO_TEST("caches", VIR_ARCH_X86_64); return ret; } -VIRT_TEST_MAIN(mymain) +VIRT_TEST_MAIN_PRELOAD(mymain, abs_builddir "/.libs/virnumamock.so") + +#else /* !__linux__ */ + +int +main(void) +{ + return EXIT_AM_SKIP; +} + +#endif /* !__linux__ */ -- 2.12.0

On 24.03.2017 19:59, Martin Kletzander wrote:
Don't get pushed away just because it is 23 patches. They are almost one-liners. Just a lot of stuff I got dragged into, lot of rabbit holes where I reached the end, basically lot of side fixes. That's mostly due to one of the bigger changes being removed from the series completely about two days ago when I realized I'm not spending week of fixing terribly tricky stuff just so we can test one more teeny tiny thing that's not even needed (which I realized way too late).
The patches are available on github:
https://github.com/nertpinx/libvirt -- branch pre-cat
The patches should be *really* nice to review, and there's lot of cleanups. The only reason for this patch-series to add more lines than remove them, is because it adds tests. And tests are good and yummy. Me like tests... Yeah, I guess it's Friday, 8PM. I should go home... Bye.
Martin Kletzander (23): Add virNumaGetNodeCPUs to private syms Introduce virCPUProbeHost Expose virCapabilitiesFreeGuest vmware: Fix some initialization problems cpu: Don't use prefixes for no reason syms: Add one newline to make things consistent tests: Fix indentation in virhostcputest vz: Do not use magic constants when building capabilities Separate syms based on files they are defined in openvz: Ditch openvzGetNodeCPUs tests: Remove some unneeded files virfile: Add helpers for reading simple values tests: Add cpu/{online,present} files for old tests util: Add virsysfs for handling sysfs files util: Adapt virhostcpu to the new virsysfs Move src/fdstream to src/util/virfdstream Remove src/nodeinfo util: Fix naming in util/virnodesuspend Change virQEMUCapsInitPages to virCapabilitiesInitPages tests: Add sysfs node/cpu topology for the only vircaps2xml testcase tests: Add linux-caches sysfs entries for vircaps2xmltest tests: Add virnumamock tests: Enhance vircaps2xml test
cfg.mk | 2 +- po/POTFILES.in | 3 +- src/Makefile.am | 7 +- src/bhyve/bhyve_capabilities.c | 20 +- src/bhyve/bhyve_driver.c | 7 +- src/conf/capabilities.c | 317 +++++++++++++++- src/conf/capabilities.h | 9 + src/conf/virchrdev.c | 2 +- src/cpu/cpu.c | 15 +- src/cpu/cpu.h | 5 +- src/libvirt_linux.syms | 1 - src/libvirt_private.syms | 93 +++-- src/libxl/libxl_migration.c | 2 +- src/lxc/lxc_conf.c | 3 +- src/lxc/lxc_driver.c | 7 +- src/nodeinfo.c | 418 --------------------- src/openvz/openvz_conf.c | 17 +- src/openvz/openvz_conf.h | 1 - src/openvz/openvz_driver.c | 5 +- src/phyp/phyp_driver.c | 3 +- src/qemu/qemu_capabilities.c | 43 +-- src/qemu/qemu_conf.c | 1 - src/qemu/qemu_driver.c | 7 +- src/qemu/qemu_migration.c | 2 +- src/storage/storage_driver.c | 2 +- src/storage/storage_util.c | 2 +- src/test/test_driver.c | 2 +- src/uml/uml_conf.c | 3 +- src/uml/uml_driver.c | 7 +- src/{fdstream.c => util/virfdstream.c} | 4 +- src/{fdstream.h => util/virfdstream.h} | 2 +- src/util/virfile.c | 83 ++++ src/util/virfile.h | 6 + src/util/virhostcpu.c | 345 +++++------------ src/util/virhostcpu.h | 7 +- src/util/virhostcpupriv.h | 2 - src/util/virnodesuspend.c | 20 +- src/util/virnodesuspend.h | 6 +- src/util/virsysfs.c | 229 +++++++++++ src/util/virsysfs.h | 70 ++++ src/{nodeinfo.h => util/virsysfspriv.h} | 18 +- src/vbox/vbox_common.c | 7 +- src/vmware/vmware_conf.c | 20 +- src/vz/vz_driver.c | 16 +- src/vz/vz_sdk.c | 1 - src/xen/xen_driver.c | 5 +- tests/Makefile.am | 7 + tests/commandtest.c | 1 - tests/fdstreamtest.c | 2 +- .../linux-basic/cpu/cpu0/topology/core_id} | 0 .../linux-basic/cpu/cpu0/topology/core_siblings | 1 + .../cpu/cpu0/topology/core_siblings_list | 1 + .../cpu/cpu0/topology/physical_package_id} | 0 .../linux-basic/cpu/cpu0/topology/thread_siblings | 1 + .../cpu/cpu0/topology/thread_siblings_list} | 0 .../linux-basic/cpu/cpu1/topology/core_id | 1 + .../linux-basic/cpu/cpu1/topology/core_siblings | 1 + .../cpu/cpu1/topology/core_siblings_list | 1 + .../cpu/cpu1/topology/physical_package_id} | 0 .../linux-basic/cpu/cpu1/topology/thread_siblings | 1 + .../cpu/cpu1/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu10/topology/core_id | 1 + .../linux-basic/cpu/cpu10/topology/core_siblings | 1 + .../cpu/cpu10/topology/core_siblings_list | 1 + .../cpu/cpu10/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu10/topology/thread_siblings | 1 + .../cpu/cpu10/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu11/topology/core_id | 1 + .../linux-basic/cpu/cpu11/topology/core_siblings | 1 + .../cpu/cpu11/topology/core_siblings_list | 1 + .../cpu/cpu11/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu11/topology/thread_siblings | 1 + .../cpu/cpu11/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu12/topology/core_id | 1 + .../linux-basic/cpu/cpu12/topology/core_siblings | 1 + .../cpu/cpu12/topology/core_siblings_list | 1 + .../cpu/cpu12/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu12/topology/thread_siblings | 1 + .../cpu/cpu12/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu13/topology/core_id | 1 + .../linux-basic/cpu/cpu13/topology/core_siblings | 1 + .../cpu/cpu13/topology/core_siblings_list | 1 + .../cpu/cpu13/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu13/topology/thread_siblings | 1 + .../cpu/cpu13/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu14/topology/core_id | 1 + .../linux-basic/cpu/cpu14/topology/core_siblings | 1 + .../cpu/cpu14/topology/core_siblings_list | 1 + .../cpu/cpu14/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu14/topology/thread_siblings | 1 + .../cpu/cpu14/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu15/topology/core_id | 1 + .../linux-basic/cpu/cpu15/topology/core_siblings | 1 + .../cpu/cpu15/topology/core_siblings_list | 1 + .../cpu/cpu15/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu15/topology/thread_siblings | 1 + .../cpu/cpu15/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu2/topology/core_id | 1 + .../linux-basic/cpu/cpu2/topology/core_siblings | 1 + .../cpu/cpu2/topology/core_siblings_list | 1 + .../cpu/cpu2/topology/physical_package_id} | 0 .../linux-basic/cpu/cpu2/topology/thread_siblings | 1 + .../cpu/cpu2/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu3/topology/core_id | 1 + .../linux-basic/cpu/cpu3/topology/core_siblings | 1 + .../cpu/cpu3/topology/core_siblings_list | 1 + .../cpu/cpu3/topology/physical_package_id} | 0 .../linux-basic/cpu/cpu3/topology/thread_siblings | 1 + .../cpu/cpu3/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu4/topology/core_id | 1 + .../linux-basic/cpu/cpu4/topology/core_siblings | 1 + .../cpu/cpu4/topology/core_siblings_list | 1 + .../cpu/cpu4/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu4/topology/thread_siblings | 1 + .../cpu/cpu4/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu5/topology/core_id | 1 + .../linux-basic/cpu/cpu5/topology/core_siblings | 1 + .../cpu/cpu5/topology/core_siblings_list | 1 + .../cpu/cpu5/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu5/topology/thread_siblings | 1 + .../cpu/cpu5/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu6/topology/core_id | 1 + .../linux-basic/cpu/cpu6/topology/core_siblings | 1 + .../cpu/cpu6/topology/core_siblings_list | 1 + .../cpu/cpu6/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu6/topology/thread_siblings | 1 + .../cpu/cpu6/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu7/topology/core_id | 1 + .../linux-basic/cpu/cpu7/topology/core_siblings | 1 + .../cpu/cpu7/topology/core_siblings_list | 1 + .../cpu/cpu7/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu7/topology/thread_siblings | 1 + .../cpu/cpu7/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu8/topology/core_id | 1 + .../linux-basic/cpu/cpu8/topology/core_siblings | 1 + .../cpu/cpu8/topology/core_siblings_list | 1 + .../cpu/cpu8/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu8/topology/thread_siblings | 1 + .../cpu/cpu8/topology/thread_siblings_list | 1 + .../linux-basic/cpu/cpu9/topology/core_id | 1 + .../linux-basic/cpu/cpu9/topology/core_siblings | 1 + .../cpu/cpu9/topology/core_siblings_list | 1 + .../cpu/cpu9/topology/physical_package_id | 1 + .../linux-basic/cpu/cpu9/topology/thread_siblings | 1 + .../cpu/cpu9/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-basic/cpu/online | 1 + tests/vircaps2xmldata/linux-basic/cpu/present | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu0 | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu1 | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu2 | 1 + tests/vircaps2xmldata/linux-basic/node/node0/cpu3 | 1 + .../vircaps2xmldata/linux-basic/node/node0/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu4 | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu5 | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu6 | 1 + tests/vircaps2xmldata/linux-basic/node/node1/cpu7 | 1 + .../vircaps2xmldata/linux-basic/node/node1/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu10 | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu11 | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu8 | 1 + tests/vircaps2xmldata/linux-basic/node/node2/cpu9 | 1 + .../vircaps2xmldata/linux-basic/node/node2/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu12 | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu13 | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu14 | 1 + tests/vircaps2xmldata/linux-basic/node/node3/cpu15 | 1 + .../vircaps2xmldata/linux-basic/node/node3/cpulist | 1 + tests/vircaps2xmldata/linux-basic/node/online | 1 + tests/vircaps2xmldata/linux-basic/node/possible | 1 + .../linux-caches/cpu/cpu0/cache/index0/level | 1 + .../cpu/cpu0/cache/index0/shared_cpu_list | 1 + .../cpu/cpu0/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index0/size | 1 + .../linux-caches/cpu/cpu0/cache/index0/type | 1 + .../linux-caches/cpu/cpu0/cache/index1/level | 1 + .../cpu/cpu0/cache/index1/shared_cpu_list | 1 + .../cpu/cpu0/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index1/size | 1 + .../linux-caches/cpu/cpu0/cache/index1/type | 1 + .../linux-caches/cpu/cpu0/cache/index2/level | 1 + .../cpu/cpu0/cache/index2/shared_cpu_list | 1 + .../cpu/cpu0/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index2/size | 1 + .../linux-caches/cpu/cpu0/cache/index2/type | 1 + .../linux-caches/cpu/cpu0/cache/index3/level | 1 + .../cpu/cpu0/cache/index3/shared_cpu_list} | 0 .../cpu/cpu0/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu0/cache/index3/size | 1 + .../linux-caches/cpu/cpu0/cache/index3/type | 1 + .../linux-caches/cpu/cpu0/topology/core_id} | 0 .../linux-caches/cpu/cpu0/topology/core_siblings | 1 + .../cpu/cpu0/topology/core_siblings_list} | 0 .../cpu/cpu0/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu0/topology/thread_siblings | 1 + .../cpu/cpu0/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu1/cache/index0/level | 1 + .../cpu/cpu1/cache/index0/shared_cpu_list | 1 + .../cpu/cpu1/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index0/size | 1 + .../linux-caches/cpu/cpu1/cache/index0/type | 1 + .../linux-caches/cpu/cpu1/cache/index1/level | 1 + .../cpu/cpu1/cache/index1/shared_cpu_list | 1 + .../cpu/cpu1/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index1/size | 1 + .../linux-caches/cpu/cpu1/cache/index1/type | 1 + .../linux-caches/cpu/cpu1/cache/index2/level | 1 + .../cpu/cpu1/cache/index2/shared_cpu_list | 1 + .../cpu/cpu1/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index2/size | 1 + .../linux-caches/cpu/cpu1/cache/index2/type | 1 + .../linux-caches/cpu/cpu1/cache/index3/level | 1 + .../cpu/cpu1/cache/index3/shared_cpu_list} | 0 .../cpu/cpu1/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu1/cache/index3/size | 1 + .../linux-caches/cpu/cpu1/cache/index3/type | 1 + .../linux-caches/cpu/cpu1/topology/core_id | 1 + .../linux-caches/cpu/cpu1/topology/core_siblings | 1 + .../cpu/cpu1/topology/core_siblings_list} | 0 .../cpu/cpu1/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu1/topology/thread_siblings | 1 + .../cpu/cpu1/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu2/cache/index0/level | 1 + .../cpu/cpu2/cache/index0/shared_cpu_list | 1 + .../cpu/cpu2/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index0/size | 1 + .../linux-caches/cpu/cpu2/cache/index0/type | 1 + .../linux-caches/cpu/cpu2/cache/index1/level | 1 + .../cpu/cpu2/cache/index1/shared_cpu_list | 1 + .../cpu/cpu2/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index1/size | 1 + .../linux-caches/cpu/cpu2/cache/index1/type | 1 + .../linux-caches/cpu/cpu2/cache/index2/level | 1 + .../cpu/cpu2/cache/index2/shared_cpu_list | 1 + .../cpu/cpu2/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index2/size | 1 + .../linux-caches/cpu/cpu2/cache/index2/type | 1 + .../linux-caches/cpu/cpu2/cache/index3/level | 1 + .../cpu/cpu2/cache/index3/shared_cpu_list} | 0 .../cpu/cpu2/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu2/cache/index3/size | 1 + .../linux-caches/cpu/cpu2/cache/index3/type | 1 + .../linux-caches/cpu/cpu2/topology/core_id | 1 + .../linux-caches/cpu/cpu2/topology/core_siblings | 1 + .../cpu/cpu2/topology/core_siblings_list} | 0 .../cpu/cpu2/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu2/topology/thread_siblings | 1 + .../cpu/cpu2/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu3/cache/index0/level | 1 + .../cpu/cpu3/cache/index0/shared_cpu_list | 1 + .../cpu/cpu3/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index0/size | 1 + .../linux-caches/cpu/cpu3/cache/index0/type | 1 + .../linux-caches/cpu/cpu3/cache/index1/level | 1 + .../cpu/cpu3/cache/index1/shared_cpu_list | 1 + .../cpu/cpu3/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index1/size | 1 + .../linux-caches/cpu/cpu3/cache/index1/type | 1 + .../linux-caches/cpu/cpu3/cache/index2/level | 1 + .../cpu/cpu3/cache/index2/shared_cpu_list | 1 + .../cpu/cpu3/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index2/size | 1 + .../linux-caches/cpu/cpu3/cache/index2/type | 1 + .../linux-caches/cpu/cpu3/cache/index3/level | 1 + .../cpu/cpu3/cache/index3/shared_cpu_list} | 0 .../cpu/cpu3/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu3/cache/index3/size | 1 + .../linux-caches/cpu/cpu3/cache/index3/type | 1 + .../linux-caches/cpu/cpu3/topology/core_id | 1 + .../linux-caches/cpu/cpu3/topology/core_siblings | 1 + .../cpu/cpu3/topology/core_siblings_list} | 0 .../cpu/cpu3/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu3/topology/thread_siblings | 1 + .../cpu/cpu3/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu4/cache/index0/level | 1 + .../cpu/cpu4/cache/index0/shared_cpu_list | 1 + .../cpu/cpu4/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index0/size | 1 + .../linux-caches/cpu/cpu4/cache/index0/type | 1 + .../linux-caches/cpu/cpu4/cache/index1/level | 1 + .../cpu/cpu4/cache/index1/shared_cpu_list | 1 + .../cpu/cpu4/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index1/size | 1 + .../linux-caches/cpu/cpu4/cache/index1/type | 1 + .../linux-caches/cpu/cpu4/cache/index2/level | 1 + .../cpu/cpu4/cache/index2/shared_cpu_list | 1 + .../cpu/cpu4/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index2/size | 1 + .../linux-caches/cpu/cpu4/cache/index2/type | 1 + .../linux-caches/cpu/cpu4/cache/index3/level | 1 + .../cpu/cpu4/cache/index3/shared_cpu_list} | 0 .../cpu/cpu4/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu4/cache/index3/size | 1 + .../linux-caches/cpu/cpu4/cache/index3/type | 1 + .../linux-caches/cpu/cpu4/topology/core_id} | 0 .../linux-caches/cpu/cpu4/topology/core_siblings | 1 + .../cpu/cpu4/topology/core_siblings_list} | 0 .../cpu/cpu4/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu4/topology/thread_siblings | 1 + .../cpu/cpu4/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu5/cache/index0/level | 1 + .../cpu/cpu5/cache/index0/shared_cpu_list | 1 + .../cpu/cpu5/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index0/size | 1 + .../linux-caches/cpu/cpu5/cache/index0/type | 1 + .../linux-caches/cpu/cpu5/cache/index1/level | 1 + .../cpu/cpu5/cache/index1/shared_cpu_list | 1 + .../cpu/cpu5/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index1/size | 1 + .../linux-caches/cpu/cpu5/cache/index1/type | 1 + .../linux-caches/cpu/cpu5/cache/index2/level | 1 + .../cpu/cpu5/cache/index2/shared_cpu_list | 1 + .../cpu/cpu5/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index2/size | 1 + .../linux-caches/cpu/cpu5/cache/index2/type | 1 + .../linux-caches/cpu/cpu5/cache/index3/level | 1 + .../cpu/cpu5/cache/index3/shared_cpu_list} | 0 .../cpu/cpu5/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu5/cache/index3/size | 1 + .../linux-caches/cpu/cpu5/cache/index3/type | 1 + .../linux-caches/cpu/cpu5/topology/core_id | 1 + .../linux-caches/cpu/cpu5/topology/core_siblings | 1 + .../cpu/cpu5/topology/core_siblings_list} | 0 .../cpu/cpu5/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu5/topology/thread_siblings | 1 + .../cpu/cpu5/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu6/cache/index0/level | 1 + .../cpu/cpu6/cache/index0/shared_cpu_list | 1 + .../cpu/cpu6/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index0/size | 1 + .../linux-caches/cpu/cpu6/cache/index0/type | 1 + .../linux-caches/cpu/cpu6/cache/index1/level | 1 + .../cpu/cpu6/cache/index1/shared_cpu_list | 1 + .../cpu/cpu6/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index1/size | 1 + .../linux-caches/cpu/cpu6/cache/index1/type | 1 + .../linux-caches/cpu/cpu6/cache/index2/level | 1 + .../cpu/cpu6/cache/index2/shared_cpu_list | 1 + .../cpu/cpu6/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index2/size | 1 + .../linux-caches/cpu/cpu6/cache/index2/type | 1 + .../linux-caches/cpu/cpu6/cache/index3/level | 1 + .../cpu/cpu6/cache/index3/shared_cpu_list} | 0 .../cpu/cpu6/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu6/cache/index3/size | 1 + .../linux-caches/cpu/cpu6/cache/index3/type | 1 + .../linux-caches/cpu/cpu6/topology/core_id | 1 + .../linux-caches/cpu/cpu6/topology/core_siblings | 1 + .../cpu/cpu6/topology/core_siblings_list} | 0 .../cpu/cpu6/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu6/topology/thread_siblings | 1 + .../cpu/cpu6/topology/thread_siblings_list | 1 + .../linux-caches/cpu/cpu7/cache/index0/level | 1 + .../cpu/cpu7/cache/index0/shared_cpu_list | 1 + .../cpu/cpu7/cache/index0/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index0/size | 1 + .../linux-caches/cpu/cpu7/cache/index0/type | 1 + .../linux-caches/cpu/cpu7/cache/index1/level | 1 + .../cpu/cpu7/cache/index1/shared_cpu_list | 1 + .../cpu/cpu7/cache/index1/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index1/size | 1 + .../linux-caches/cpu/cpu7/cache/index1/type | 1 + .../linux-caches/cpu/cpu7/cache/index2/level | 1 + .../cpu/cpu7/cache/index2/shared_cpu_list | 1 + .../cpu/cpu7/cache/index2/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index2/size | 1 + .../linux-caches/cpu/cpu7/cache/index2/type | 1 + .../linux-caches/cpu/cpu7/cache/index3/level | 1 + .../cpu/cpu7/cache/index3/shared_cpu_list} | 0 .../cpu/cpu7/cache/index3/shared_cpu_map | 1 + .../linux-caches/cpu/cpu7/cache/index3/size | 1 + .../linux-caches/cpu/cpu7/cache/index3/type | 1 + .../linux-caches/cpu/cpu7/topology/core_id | 1 + .../linux-caches/cpu/cpu7/topology/core_siblings | 1 + .../cpu/cpu7/topology/core_siblings_list} | 0 .../cpu/cpu7/topology/physical_package_id} | 0 .../linux-caches/cpu/cpu7/topology/thread_siblings | 1 + .../cpu/cpu7/topology/thread_siblings_list | 1 + tests/vircaps2xmldata/linux-caches/cpu/kernel_max | 1 + .../linux-caches/cpu/online} | 0 .../linux-caches/cpu/present} | 0 tests/vircaps2xmldata/linux-caches/node/node0/cpu0 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu1 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu2 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu3 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu4 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu5 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu6 | 1 + tests/vircaps2xmldata/linux-caches/node/node0/cpu7 | 1 + .../linux-caches/node/node0/cpulist} | 0 .../linux-caches/node/node0/meminfo | 31 ++ .../linux-caches/node/online} | 0 .../linux-caches/node}/possible | 0 tests/vircaps2xmldata/vircaps-aarch64-basic.xml | 64 ++++ tests/vircaps2xmldata/vircaps-basic-4-4-2G.xml | 74 ---- tests/vircaps2xmldata/vircaps-x86_64-basic.xml | 62 +++ tests/vircaps2xmldata/vircaps-x86_64-caches.xml | 33 ++ tests/vircaps2xmltest.c | 133 +++---- .../cpu/offline | 0 .../cpu/possible | 0 tests/virhostcpudata/linux-deconf-cpus/cpu/offline | 1 - .../virhostcpudata/linux-deconf-cpus/cpu/possible | 1 - tests/virhostcpudata/linux-raspberrypi/cpu/offline | 1 - .../linux-rhelsa-3.19.0-mustang/cpu/offline | 1 - tests/virhostcpudata/linux-subcores1/cpu/offline | 1 - tests/virhostcpudata/linux-subcores1/cpu/possible | 1 - tests/virhostcpudata/linux-subcores2/cpu/offline | 1 - tests/virhostcpudata/linux-subcores2/cpu/possible | 1 - tests/virhostcpudata/linux-subcores3/cpu/offline | 1 - tests/virhostcpudata/linux-subcores3/cpu/possible | 1 - tests/virhostcpudata/linux-test1/cpu/online | 1 + tests/virhostcpudata/linux-test1/cpu/present | 1 + tests/virhostcpudata/linux-test2/cpu/online | 1 + tests/virhostcpudata/linux-test2/cpu/present | 1 + tests/virhostcpudata/linux-test3/cpu/online | 1 + tests/virhostcpudata/linux-test3/cpu/present | 1 + tests/virhostcpudata/linux-test4/cpu/online | 1 + tests/virhostcpudata/linux-test4/cpu/present | 1 + tests/virhostcpudata/linux-test5/cpu/online | 1 + tests/virhostcpudata/linux-test5/cpu/present | 1 + tests/virhostcpudata/linux-test6/cpu/online | 1 + .../cpu/possible => linux-test6/cpu/present} | 0 tests/virhostcpudata/linux-test7/cpu/online | 1 + tests/virhostcpudata/linux-test7/cpu/present | 1 + tests/virhostcpudata/linux-test8/cpu/offline | 0 tests/virhostcpudata/linux-test8/cpu/possible | 1 - tests/virhostcputest.c | 9 +- tests/virnumamock.c | 191 ++++++++++ 427 files changed, 1736 insertions(+), 1047 deletions(-) delete mode 100644 src/nodeinfo.c rename src/{fdstream.c => util/virfdstream.c} (99%) rename src/{fdstream.h => util/virfdstream.h} (97%) create mode 100644 src/util/virsysfs.c create mode 100644 src/util/virsysfs.h rename src/{nodeinfo.h => util/virsysfspriv.h} (62%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/core_siblings_list copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu0/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu0/topology/thread_siblings_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/core_siblings_list copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu1/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu1/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu10/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu11/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu12/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu13/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu14/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu15/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/core_siblings_list copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu2/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu2/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/core_siblings_list copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-basic/cpu/cpu3/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu3/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu4/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu5/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu6/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu7/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu8/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/core_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/physical_package_id create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/cpu9/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/online create mode 100644 tests/vircaps2xmldata/linux-basic/cpu/present create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu0 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu1 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu2 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node0/cpu3 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node0/cpulist create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu4 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu5 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu6 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node1/cpu7 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node1/cpulist create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu10 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu11 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu8 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node2/cpu9 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node2/cpulist create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu12 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu13 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu14 create mode 120000 tests/vircaps2xmldata/linux-basic/node/node3/cpu15 create mode 100644 tests/vircaps2xmldata/linux-basic/node/node3/cpulist create mode 100644 tests/vircaps2xmldata/linux-basic/node/online create mode 100644 tests/vircaps2xmldata/linux-basic/node/possible create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/type copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings rename tests/{virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu0/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu0/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu1/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu1/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu2/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu2/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu3/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu3/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/type copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu4/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu4/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu5/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu5/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu6/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu6/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/level create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/level copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_list} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/shared_cpu_map create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/size create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/type create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_id create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu7/topology/core_siblings_list} (100%) copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/cpu/cpu7/topology/physical_package_id} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/topology/thread_siblings_list create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/kernel_max copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/online} (100%) copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/cpu/present} (100%) create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu0 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu1 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu2 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu3 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu4 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu5 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu6 create mode 120000 tests/vircaps2xmldata/linux-caches/node/node0/cpu7 copy tests/{virhostcpudata/linux-f21-mustang/cpu/possible => vircaps2xmldata/linux-caches/node/node0/cpulist} (100%) create mode 100644 tests/vircaps2xmldata/linux-caches/node/node0/meminfo copy tests/{virhostcpudata/linux-raspberrypi/cpu/possible => vircaps2xmldata/linux-caches/node/online} (100%) rename tests/{virhostcpudata/linux-raspberrypi/cpu => vircaps2xmldata/linux-caches/node}/possible (100%) create mode 100644 tests/vircaps2xmldata/vircaps-aarch64-basic.xml delete mode 100644 tests/vircaps2xmldata/vircaps-basic-4-4-2G.xml create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-basic.xml create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-caches.xml rename tests/virhostcpudata/{linux-f21-mustang => linux-caches1}/cpu/offline (100%) copy tests/virhostcpudata/{linux-f21-mustang => linux-caches1}/cpu/possible (100%) delete mode 100644 tests/virhostcpudata/linux-deconf-cpus/cpu/offline delete mode 100644 tests/virhostcpudata/linux-deconf-cpus/cpu/possible delete mode 100644 tests/virhostcpudata/linux-raspberrypi/cpu/offline delete mode 100644 tests/virhostcpudata/linux-rhelsa-3.19.0-mustang/cpu/offline delete mode 100644 tests/virhostcpudata/linux-subcores1/cpu/offline delete mode 100644 tests/virhostcpudata/linux-subcores1/cpu/possible delete mode 100644 tests/virhostcpudata/linux-subcores2/cpu/offline delete mode 100644 tests/virhostcpudata/linux-subcores2/cpu/possible delete mode 100644 tests/virhostcpudata/linux-subcores3/cpu/offline delete mode 100644 tests/virhostcpudata/linux-subcores3/cpu/possible create mode 100644 tests/virhostcpudata/linux-test1/cpu/online create mode 100644 tests/virhostcpudata/linux-test1/cpu/present create mode 100644 tests/virhostcpudata/linux-test2/cpu/online create mode 100644 tests/virhostcpudata/linux-test2/cpu/present create mode 100644 tests/virhostcpudata/linux-test3/cpu/online create mode 100644 tests/virhostcpudata/linux-test3/cpu/present create mode 100644 tests/virhostcpudata/linux-test4/cpu/online create mode 100644 tests/virhostcpudata/linux-test4/cpu/present create mode 100644 tests/virhostcpudata/linux-test5/cpu/online create mode 100644 tests/virhostcpudata/linux-test5/cpu/present create mode 100644 tests/virhostcpudata/linux-test6/cpu/online rename tests/virhostcpudata/{linux-f21-mustang/cpu/possible => linux-test6/cpu/present} (100%) create mode 100644 tests/virhostcpudata/linux-test7/cpu/online create mode 100644 tests/virhostcpudata/linux-test7/cpu/present delete mode 100644 tests/virhostcpudata/linux-test8/cpu/offline delete mode 100644 tests/virhostcpudata/linux-test8/cpu/possible create mode 100644 tests/virnumamock.c
ACK series. Michal

On Mon, Mar 27, 2017 at 09:58:17AM +0200, Michal Privoznik wrote:
On 24.03.2017 19:59, Martin Kletzander wrote:
Don't get pushed away just because it is 23 patches. They are almost one-liners. Just a lot of stuff I got dragged into, lot of rabbit holes where I reached the end, basically lot of side fixes. That's mostly due to one of the bigger changes being removed from the series completely about two days ago when I realized I'm not spending week of fixing terribly tricky stuff just so we can test one more teeny tiny thing that's not even needed (which I realized way too late).
The patches are available on github:
https://github.com/nertpinx/libvirt -- branch pre-cat
The patches should be *really* nice to review, and there's lot of cleanups. The only reason for this patch-series to add more lines than remove them, is because it adds tests. And tests are good and yummy. Me like tests... Yeah, I guess it's Friday, 8PM. I should go home... Bye.
Martin Kletzander (23): Add virNumaGetNodeCPUs to private syms Introduce virCPUProbeHost Expose virCapabilitiesFreeGuest vmware: Fix some initialization problems cpu: Don't use prefixes for no reason syms: Add one newline to make things consistent tests: Fix indentation in virhostcputest vz: Do not use magic constants when building capabilities Separate syms based on files they are defined in openvz: Ditch openvzGetNodeCPUs tests: Remove some unneeded files virfile: Add helpers for reading simple values tests: Add cpu/{online,present} files for old tests util: Add virsysfs for handling sysfs files util: Adapt virhostcpu to the new virsysfs Move src/fdstream to src/util/virfdstream Remove src/nodeinfo util: Fix naming in util/virnodesuspend Change virQEMUCapsInitPages to virCapabilitiesInitPages tests: Add sysfs node/cpu topology for the only vircaps2xml testcase tests: Add linux-caches sysfs entries for vircaps2xmltest tests: Add virnumamock tests: Enhance vircaps2xml test
[...]
ACK series.
Michal
Thanks, I adjusted what you pointed out and will push it in a while. Martin
participants (3)
-
John Ferlan
-
Martin Kletzander
-
Michal Privoznik