2021-08-13 10:23:53

by yaoaili [么爱利]

[permalink] [raw]
Subject: KVM: x86: expose HINTS_REALTIME ablility to qemu

When I do a test that try to enable hint-dedicated for one VM, but qemu
says "warning: host doesn't support requested feature:
CPUID.40000001H:EDX.kvm-hint-dedicated [bit 0]".

It seems the kernel hasn't expose this ability even when supporting it;
So expose it.

Signed-off-by: Aili Yao <[email protected]>
---
arch/x86/kvm/cpuid.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 739be5da3bca..2153014742d7 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -917,7 +917,7 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function)

entry->ebx = 0;
entry->ecx = 0;
- entry->edx = 0;
+ entry->edx = (1 << KVM_HINTS_REALTIME);
break;
case 0x80000000:
entry->eax = min(entry->eax, 0x8000001f);
--
2.25.1


2021-08-16 06:11:26

by yaoaili [么爱利]

[permalink] [raw]
Subject: Re: KVM: x86: expose HINTS_REALTIME ablility to qemu

On Fri, 13 Aug 2021 17:54:20 +0800
Aili Yao <[email protected]> wrote:

> When I do a test that try to enable hint-dedicated for one VM, but qemu
> says "warning: host doesn't support requested feature:
> CPUID.40000001H:EDX.kvm-hint-dedicated [bit 0]".
>
> It seems the kernel hasn't expose this ability even when supporting it;
> So expose it.

Sorry, I check it again:
Ihe issue I met is because of my qemu's mis-backport,

In qemu, kvm_arch_get_supported_cpuid() will set the feature bit:
if (function == KVM_CPUID_FEATURES && reg == R_EDX) {
ret |= KVM_HINTS_DEDICATED;
found = 1;
}
But I have mis-ported the KVM_HINTS_DEDICATED and KVM_HINTS_REALTIME macro; And it lead to
the error I met;

And it's right that kernel don't expose this ability!

Sorry again!