未验证 提交 cbff63e8 编写于 作者: Q Qianqian Zhu 提交者: GitHub

Merge pull request #1367 from huangyum/numa_1574834

numa_memdev_options: add case to test two nodes with different backend
- numa_memdev_options:
type = numa_memdev_options
kill_vm_on_error = yes
mem_fixed = 1536
mem_fixed = 4096
mem_devs = "mem0 mem1"
backend_mem = memory-backend-ram
use_mem = no
host-nodes_mem0 = 0
host-nodes_mem1 = 1
size_mem0 = 512M
size_mem1 = 1024M
size_mem0 = 1024M
size_mem1 = 3072M
guest_numa_nodes = "node0 node1"
numa_memdev_node0 = mem-mem0
numa_memdev_node1 = mem-mem1
......@@ -40,4 +40,17 @@
backend_mem = memory-backend-file
setup_hugepages = yes
mem-path = /mnt/kvm_hugepage
target_hugepages = 1500
target_nodes = 0 1
# Please update following numbers according to actual hugepage size,
# It intends for 2M hugepage by default.
target_num_node0 = 522
target_num_node1 = 1546
- numa_ram_hugepage:
backend_mem_mem0 = memory-backend-file
backend_mem_mem1 = memory-backend-ram
setup_hugepages = yes
mem-path_mem0 = /mnt/kvm_hugepage
target_nodes = 0
# Please update following numbers according to actual hugepage size,
# It intends for 2M hugepage by default.
target_num_node0 = 522
......@@ -5,6 +5,7 @@ from avocado.utils import process
from virttest import error_context
from virttest import utils_misc
from virttest.staging import utils_memory
from virttest.compat_52lts import decode_to_text
def check_host_numa_node_amount(test):
......@@ -66,19 +67,21 @@ def check_memory_in_procfs(test, params, vm):
policy = params['policy_mem']
if policy == 'preferred':
policy = 'prefer'
mem_path = params.get("mem-path", None)
for mem_dev in params['mem_devs'].split():
memdev_params = params.object_params(mem_dev)
mem_size = memdev_params['size']
mem_size = int(float(utils_misc.normalize_data_size(mem_size, "K")))
smaps = process.system_output("grep -1 %d /proc/%d/smaps"
% (mem_size, qemu_pid))
smaps = decode_to_text(smaps).strip()
mem_path = memdev_params.get("mem-path")
if mem_path and (mem_path not in smaps):
test.fail("memdev = %s: mem-path '%s' is not in smaps '%s'!"
% (mem_dev, mem_path, smaps))
mem_start = smaps.split('-')[0]
numa_maps = process.system_output("grep %s /proc/%d/numa_maps"
% (mem_start, qemu_pid))
numa_maps = decode_to_text(numa_maps).strip()
if mem_path and (mem_path not in numa_maps):
test.fail("memdev = %s: mem-path '%s' is not in numa_maps '%s'!"
% (mem_dev, mem_path, numa_maps))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册