Re: [PATCH 2/2] kunit: enable hardware acceleration when available
From: Alyssa Ross
Date: Fri Nov 01 2024 - 09:52:54 EST
On Fri, Oct 25, 2024 at 05:03:54PM -0400, Tamir Duberstein wrote:
> @@ -124,6 +125,29 @@ class LinuxSourceTreeOperationsQemu(LinuxSourceTreeOperations):
> '-no-reboot',
> '-nographic',
> '-serial', self._serial] + self._extra_qemu_params
> + accelerators = {
> + line.strip()
> + for line in subprocess.check_output([qemu_binary, "-accel", "help"], text=True).splitlines()
> + if line and line.islower()
> + }
> + if 'kvm' in accelerators:
> + try:
> + with open('/dev/kvm', 'rb+'):
> + qemu_command.extend(['-accel', 'kvm'])
> + except OSError as e:
> + print(e)
> + elif 'hvf' in accelerators:
> + try:
> + for line in subprocess.check_output(['sysctl', 'kern.hv_support'], text=True).splitlines():
> + if not line:
> + continue
> + key, value = line.split(':')
> + if key == 'kern.hv_support' and bool(value):
> + qemu_command.extend(['-accel', 'hvf'])
> + break
> + except subprocess.CalledProcessError as e:
> + print(e)
> +
QEMU supports falling back if one accelerator is not available, if you
specify multiple like -accel kvm:tcg. Couldn't you rely on that rather
than re-implementing the availability checks here?
Attachment:
signature.asc
Description: PGP signature