On 02/11/2024 12:09, Tamir Duberstein wrote:
> Use KVM or HVF if supported by the QEMU binary and available on the
> system.
> 
> This produces a nice improvement on my Apple M3 Pro running macOS 14.7:
> 
> Before:
> ./tools/testing/kunit/kunit.py exec --arch arm64
> [HH:MM:SS] Elapsed time: 10.145s
> 
> After:
> ./tools/testing/kunit/kunit.py exec --arch arm64
> [HH:MM:SS] Elapsed time: 1.773s
> 
> Signed-off-by: Tamir Duberstein <tam...@gmail.com>
> ---
>  tools/testing/kunit/kunit_kernel.py       | 3 +++
>  tools/testing/kunit/qemu_configs/arm64.py | 2 +-
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/kunit/kunit_kernel.py 
> b/tools/testing/kunit/kunit_kernel.py
> index 
> 61931c4926fd6645f2c62dd13f9842a432ec4167..3146acb884ecf0bcff94d5938535aabd4486fe82
>  100644
> --- a/tools/testing/kunit/kunit_kernel.py
> +++ b/tools/testing/kunit/kunit_kernel.py
> @@ -123,6 +123,9 @@ class 
> LinuxSourceTreeOperationsQemu(LinuxSourceTreeOperations):
>                               '-append', ' '.join(params + 
> [self._kernel_command_line]),
>                               '-no-reboot',
>                               '-nographic',
> +                             '-accel', 'kvm',
> +                             '-accel', 'hvf',
> +                             '-accel', 'tcg',
>                               '-serial', self._serial] + 
> self._extra_qemu_params
>               # Note: shlex.join() does what we want, but requires python 
> 3.8+.
>               print('Running tests with:\n$', ' '.join(shlex.quote(arg) for 
> arg in qemu_command))
> diff --git a/tools/testing/kunit/qemu_configs/arm64.py 
> b/tools/testing/kunit/qemu_configs/arm64.py
> index 
> d3ff27024755411441f910799be30399295c9541..5c44d3a87e6dd2cd6b086138186a277a1473585b
>  100644
> --- a/tools/testing/kunit/qemu_configs/arm64.py
> +++ b/tools/testing/kunit/qemu_configs/arm64.py
> @@ -9,4 +9,4 @@ CONFIG_SERIAL_AMBA_PL011_CONSOLE=y''',
>                          qemu_arch='aarch64',
>                          kernel_path='arch/arm64/boot/Image.gz',
>                          kernel_command_line='console=ttyAMA0',
> -                        extra_qemu_params=['-machine', 'virt', '-cpu', 
> 'max,pauth-impdef=on'])
> +                        extra_qemu_params=['-machine', 'virt', '-cpu', 
> 'max'])

Would it be possible to keep 'pauth-impdef=on' for TCG emulation? Otherwise
performance regresses by about 20%.

Before this patch:
./tools/testing/kunit/kunit.py exec --arch=arm64 --cross_compile=aarch64-linux-
[11:03:38] Elapsed time: 15.494s

After this patch:
./tools/testing/kunit/kunit.py exec --arch=arm64 --cross_compile=aarch64-linux-
[11:10:47] Elapsed time: 19.099s

Thanks,
Kristina


Reply via email to