tests/migration: Introduce dirty-ring-size option into guestperf
Dirty ring size configuration is not supported by guestperf tool. Introduce dirty-ring-size (ranges in [1024, 65536]) option so developers can play with dirty-ring and dirty-limit feature easier. To set dirty ring size with 4096 during migration test: $ ./tests/migration/guestperf.py --dirty-ring-size 4096 xxx Signed-off-by: Hyman Huang <yong.huang@smartx.com> Reviewed-by: Fabiano Rosas <farosas@suse.de> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-ID: <8a388cec5c1f73a34d42515bbc43837e97ee3839.1698847223.git.yong.huang@smartx.com>
This commit is contained in:
parent
17257b90be
commit
4cc563d460
@ -325,7 +325,6 @@ class Engine(object):
|
||||
cmdline = "'" + cmdline + "'"
|
||||
|
||||
argv = [
|
||||
"-accel", "kvm",
|
||||
"-cpu", "host",
|
||||
"-kernel", self._kernel,
|
||||
"-initrd", self._initrd,
|
||||
@ -333,6 +332,11 @@ class Engine(object):
|
||||
"-m", str((hardware._mem * 1024) + 512),
|
||||
"-smp", str(hardware._cpus),
|
||||
]
|
||||
if hardware._dirty_ring_size:
|
||||
argv.extend(["-accel", "kvm,dirty-ring-size=%s" %
|
||||
hardware._dirty_ring_size])
|
||||
else:
|
||||
argv.extend(["-accel", "kvm"])
|
||||
|
||||
argv.extend(self._get_qemu_serial_args())
|
||||
|
||||
|
@ -23,7 +23,8 @@ class Hardware(object):
|
||||
src_cpu_bind=None, src_mem_bind=None,
|
||||
dst_cpu_bind=None, dst_mem_bind=None,
|
||||
prealloc_pages = False,
|
||||
huge_pages=False, locked_pages=False):
|
||||
huge_pages=False, locked_pages=False,
|
||||
dirty_ring_size=0):
|
||||
self._cpus = cpus
|
||||
self._mem = mem # GiB
|
||||
self._src_mem_bind = src_mem_bind # List of NUMA nodes
|
||||
@ -33,6 +34,7 @@ class Hardware(object):
|
||||
self._prealloc_pages = prealloc_pages
|
||||
self._huge_pages = huge_pages
|
||||
self._locked_pages = locked_pages
|
||||
self._dirty_ring_size = dirty_ring_size
|
||||
|
||||
|
||||
def serialize(self):
|
||||
@ -46,6 +48,7 @@ class Hardware(object):
|
||||
"prealloc_pages": self._prealloc_pages,
|
||||
"huge_pages": self._huge_pages,
|
||||
"locked_pages": self._locked_pages,
|
||||
"dirty_ring_size": self._dirty_ring_size,
|
||||
}
|
||||
|
||||
@classmethod
|
||||
@ -59,4 +62,5 @@ class Hardware(object):
|
||||
data["dst_mem_bind"],
|
||||
data["prealloc_pages"],
|
||||
data["huge_pages"],
|
||||
data["locked_pages"])
|
||||
data["locked_pages"],
|
||||
data["dirty_ring_size"])
|
||||
|
@ -60,6 +60,8 @@ class BaseShell(object):
|
||||
parser.add_argument("--prealloc-pages", dest="prealloc_pages", default=False)
|
||||
parser.add_argument("--huge-pages", dest="huge_pages", default=False)
|
||||
parser.add_argument("--locked-pages", dest="locked_pages", default=False)
|
||||
parser.add_argument("--dirty-ring-size", dest="dirty_ring_size",
|
||||
default=0, type=int)
|
||||
|
||||
self._parser = parser
|
||||
|
||||
@ -89,7 +91,9 @@ class BaseShell(object):
|
||||
|
||||
locked_pages=args.locked_pages,
|
||||
huge_pages=args.huge_pages,
|
||||
prealloc_pages=args.prealloc_pages)
|
||||
prealloc_pages=args.prealloc_pages,
|
||||
|
||||
dirty_ring_size=args.dirty_ring_size)
|
||||
|
||||
|
||||
class Shell(BaseShell):
|
||||
|
Loading…
x
Reference in New Issue
Block a user