Re: [PATCH v3] kvm: svm: Use the hardware provided GPA instead of page walk

From: Paolo Bonzini
Date: Thu Dec 08 2016 - 09:53:50 EST




On 29/11/2016 20:38, Brijesh Singh wrote:
>
>
> On 11/29/2016 12:20 PM, Thomas Gleixner wrote:
>> On Tue, 29 Nov 2016, Brijesh Singh wrote:
>>> --- a/arch/x86/kvm/emulate.c
>>> +++ b/arch/x86/kvm/emulate.c
>>> @@ -5483,3 +5483,11 @@ void emulator_writeback_register_cache(struct
>>> x86_emulate_ctxt *ctxt)
>>> {
>>> writeback_registers(ctxt);
>>> }
>>> +
>>> +bool emulator_is_string_op(struct x86_emulate_ctxt *ctxt)
>>> +{
>>> + if (ctxt->d & String)
>>> + return true;
>>> +
>>> + return false;
>>> +}
>>
>> Do we really need a full function call for this simple thing? Just
>> because
>> this horrible CamelCase constant is in emulate.c?
>>
>> What's wrong with moving that thing into a header and make it a trivial
>> inline:
>>
>> #define INS_STRING (1 << 13)
>>
>> static inline bool emulator_is_string_op(struct x86_emulate_ctxt *ctxt)
>> {
>> return ctxt->d & INS_STRING;
>> }
>>
>> Hmm?
>
> One of the recommendation from previous review feedback was to move the
> check inside emulator.c. I am fine with inlining it into kvm_emulate.h
>
> Hi Paolo,
>
> Do you want me to spin a new version ?

No, it's not that much of a fast path, so it wouldn't change anything in
practice.

Paolo