Re: [PATCH v2 1/3] KVM: x86: add support for user wait instructions

Tao Xu
2019-05-29T02:07:45Z

On 29/05/2019 09:24, Paolo Bonzini wrote:
> On 24/05/19 09:56, Tao Xu wrote:
>> +7.19 KVM_CAP_ENABLE_USR_WAIT_PAUSE
>> +
>> +Architectures: x86
>> +Parameters: args[0] whether feature should be enabled or not
>> +
>> +With this capability enabled, a VM can use UMONITOR, UMWAIT and TPAUSE
>> +instructions. If the instruction causes a delay, the amount of
>> +time delayed is called here the physical delay. The physical delay is
>> +first computed by determining the virtual delay (the time to delay
>> +relative to the VM’s timestamp counter). Otherwise, UMONITOR, UMWAIT
>> +and TPAUSE cause an invalid-opcode exception(#UD).
>> +
>
> There is no need to make it a capability. You can just check the guest
> CPUID and see if it includes X86_FEATURE_WAITPKG.
>
> Paolo
>

Thank you Paolo, but I have another question. I was wondering if it is
appropriate to enable X86_FEATURE_WAITPKG when QEMU uses "-overcommit
cpu-pm=on"? Or just enable X86_FEATURE_WAITPKG when QEMU add the feature
"-cpu host,+waitpkg"? User wait instructions is the wait or pause
instructions may be executed at any privilege level, but can use
IA32_UMWAIT_CONTROL to set the maximum time.