Re: [kvm-unit-tests PATCH v3] runtime: Allow to specify properties for accelerator

Gavin Shan
2023-06-16T00:42:27Z

Hi Nico,

On 6/15/23 23:39, Nico Boehr wrote:
> Quoting Gavin Shan (2023-06-15 08:21:48)
>> There are extra properties for accelerators to enable the specific
>> features. For example, the dirty ring for KVM accelerator can be
>> enabled by "-accel kvm,dirty-ring-size=65536". Unfortuntely, the
>> extra properties for the accelerators aren't supported. It makes
>> it's impossible to test the combination of KVM and dirty ring
>> as the following error message indicates.
>>
>> # cd /home/gavin/sandbox/kvm-unit-tests/tests
>> # QEMU=/home/gavin/sandbox/qemu.main/build/qemu-system-aarch64 \
>> ACCEL=kvm,dirty-ring-size=65536 ./its-migration
>> :
>> BUILD_HEAD=2fffb37e
>> timeout -k 1s --foreground 90s /home/gavin/sandbox/qemu.main/build/qemu-system-aarch64 \
>> -nodefaults -machine virt -accel kvm,dirty-ring-size=65536 -cpu cortex-a57 \
>> -device virtio-serial-device -device virtconsole,chardev=ctd -chardev testdev,id=ctd \
>> -device pci-testdev -display none -serial stdio -kernel _NO_FILE_4Uhere_ -smp 160 \
>> -machine gic-version=3 -append its-pending-migration # -initrd /tmp/tmp.gfDLa1EtWk
>> qemu-system-aarch64: kvm_init_vcpu: kvm_arch_init_vcpu failed (0): Invalid argument
>>
>> Allow to specify extra properties for accelerators. With this, the
>> "its-migration" can be tested for the combination of KVM and dirty
>> ring.
>>
>> Signed-off-by: Gavin Shan <gshan@redhat.com>
>
> Maybe get_qemu_accelerator could be renamed now, since it doesn't actually "get"
> anything, so maybe check_qemu_accelerator?
>
> In any case, I gave it a quick run on s390x with kvm and tcg and nothing seems
> to break, hence for the changes in s390x:
>
> Tested-by: Nico Boehr <nrb@linux.ibm.com>
> Acked-by: Nico Boehr <nrb@linux.ibm.com>
>

Thanks for a quick try and comment for this. I guess it's fine to keep
the function name as get_qemu_accelator() because $ACCEL is split into
$ACCEL and $ACCEL_PROPS inside it, even it don't print the accelerator
name at return. However, I'm also fine with check_qemu_accelerator().
Lets see what's Drew's comment on this and I can post v4 to have the
modified function name, or an followup patch to modify the function name.

Thanks,
Gavin