[lkml]   [2019]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH V3] KVM: arm64: Implement vq_present() as a macro
On Wed, Jul 03, 2019 at 12:04:11PM +0000, Zhang, Lei wrote:
> Hi guys,
> I can't start up KVM guest os with SVE feature with your patch.
> The error message is
> qemu-system-aarch64: kvm_init_vcpu failed: Invalid argument.
> My test enviroment.
> kernel linux-5.2-rc6
> qemu [Qemu-devel] [PATCH v2 00/14] target/arm/kvm: enable SVE in guests
> KVM start up option
> -machine virt,gic-version=host,accel=kvm \
> -cpu host \
> -machine type=virt \
> -nographic \
> -smp 16 \ -m 4096 \
> -drive if=none,file=/root/image.qcow2,id=hd0,format=qcow2 \
> -device virtio-blk-device,drive=hd0 \
> -netdev user,id=mynet0,restrict=off,hostfwd=tcp::38001-:22 \
> -device virtio-net-device,netdev=mynet0 \
> -bios /root/QEMU_EFI.fd
> sve_vq_available function's return value' type is bool.
> But vq_present is macro, so the value is not only TRUE, FALSE but also some numbers.
> So It failed at
> if (vq_present(vqs, vq) != sve_vq_available(vq)).
> I think it is nessary to make vq_present macro's value only TRUE and FALSE.
> arch/arm64/kvm/guest.c
> static int set_sve_vls(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
> for (vq = SVE_VQ_MIN; vq <= max_vq; ++vq)
> if (vq_present(vqs, vq) != sve_vq_available(vq)) // It failed at here.
> return -EINVAL;
> My patch as follows.
> I have started up KVM guest os successfully with SVE feature with this patch.
> Could you review and merge my patch?


Thanks for reporting this! It looks like we didn't realise we dropped
the implicit cast to bool when the result was returned from the original
version of vq_present().

Your fix looks sensible to me.

For the future, see Documentation/process/submitting-patches.rst for
guidance on how to prepare a patch for submission.

However, due to the fact that we're already at -rc7 I've written a
commit message for the patch and reposted [1]. Since the fix is yours,
I'll keep your authorship and S-o-B.

Please retest when you can (though the diff should be the same).

Note, your mail seems to be corrupted, but since the diff is a one-line
fix, I'm pretty confident I decoded it correctly. If anything looks
wrong, please let me know.



[1] [PATCH] KVM: arm64/sve: Fix vq_present() macro to yield a bool

 \ /
  Last update: 2019-07-03 19:47    [W:0.044 / U:4.848 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site