linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] KVM: nVMX: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_extra
@ 2019-06-06 15:24 Paolo Bonzini
  2019-06-06 18:41 ` Sean Christopherson
  0 siblings, 1 reply; 9+ messages in thread
From: Paolo Bonzini @ 2019-06-06 15:24 UTC (permalink / raw)
  To: linux-kernel, kvm

These function do not prepare the entire state of the vmcs02, only the
rarely needed parts.  Rename them to make this clearer.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 arch/x86/kvm/vmx/nested.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
index 84438cf23d37..fd8150ef6cce 100644
--- a/arch/x86/kvm/vmx/nested.c
+++ b/arch/x86/kvm/vmx/nested.c
@@ -1955,7 +1955,7 @@ static void prepare_vmcs02_constant_state(struct vcpu_vmx *vmx)
 	vmx_set_constant_host_state(vmx);
 }
 
-static void prepare_vmcs02_early_full(struct vcpu_vmx *vmx,
+static void prepare_vmcs02_early_extra(struct vcpu_vmx *vmx,
 				      struct vmcs12 *vmcs12)
 {
 	prepare_vmcs02_constant_state(vmx);
@@ -1976,7 +1976,7 @@ static void prepare_vmcs02_early(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
 	u64 guest_efer = nested_vmx_calc_efer(vmx, vmcs12);
 
 	if (vmx->nested.dirty_vmcs12 || vmx->nested.hv_evmcs)
-		prepare_vmcs02_early_full(vmx, vmcs12);
+		prepare_vmcs02_early_extra(vmx, vmcs12);
 
 	/*
 	 * PIN CONTROLS
@@ -2130,7 +2130,7 @@ static void prepare_vmcs02_early(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
 	}
 }
 
-static void prepare_vmcs02_full(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
+static void prepare_vmcs02_extra(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
 {
 	struct hv_enlightened_vmcs *hv_evmcs = vmx->nested.hv_evmcs;
 
@@ -2254,7 +2254,7 @@ static int prepare_vmcs02(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12,
 	struct vcpu_vmx *vmx = to_vmx(vcpu);
 
 	if (vmx->nested.dirty_vmcs12 || vmx->nested.hv_evmcs) {
-		prepare_vmcs02_full(vmx, vmcs12);
+		prepare_vmcs02_extra(vmx, vmcs12);
 		vmx->nested.dirty_vmcs12 = false;
 	}
 
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] KVM: nVMX: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_extra
  2019-06-06 15:24 [PATCH] KVM: nVMX: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_extra Paolo Bonzini
@ 2019-06-06 18:41 ` Sean Christopherson
  2019-06-06 19:19   ` Krish Sadhukhan
  2019-06-07 12:19   ` Paolo Bonzini
  0 siblings, 2 replies; 9+ messages in thread
From: Sean Christopherson @ 2019-06-06 18:41 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: linux-kernel, kvm

On Thu, Jun 06, 2019 at 05:24:12PM +0200, Paolo Bonzini wrote:
> These function do not prepare the entire state of the vmcs02, only the
> rarely needed parts.  Rename them to make this clearer.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  arch/x86/kvm/vmx/nested.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
> index 84438cf23d37..fd8150ef6cce 100644
> --- a/arch/x86/kvm/vmx/nested.c
> +++ b/arch/x86/kvm/vmx/nested.c
> @@ -1955,7 +1955,7 @@ static void prepare_vmcs02_constant_state(struct vcpu_vmx *vmx)
>  	vmx_set_constant_host_state(vmx);
>  }
>  
> -static void prepare_vmcs02_early_full(struct vcpu_vmx *vmx,
> +static void prepare_vmcs02_early_extra(struct vcpu_vmx *vmx,

Or maybe 'uncommon', 'rare' or 'ext'?  I don't I particularly love any of
the names, but they're all better than 'full'.

Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com>

>  				      struct vmcs12 *vmcs12)
>  {
>  	prepare_vmcs02_constant_state(vmx);
> @@ -1976,7 +1976,7 @@ static void prepare_vmcs02_early(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
>  	u64 guest_efer = nested_vmx_calc_efer(vmx, vmcs12);
>  
>  	if (vmx->nested.dirty_vmcs12 || vmx->nested.hv_evmcs)
> -		prepare_vmcs02_early_full(vmx, vmcs12);
> +		prepare_vmcs02_early_extra(vmx, vmcs12);
>  
>  	/*
>  	 * PIN CONTROLS
> @@ -2130,7 +2130,7 @@ static void prepare_vmcs02_early(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
>  	}
>  }
>  
> -static void prepare_vmcs02_full(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
> +static void prepare_vmcs02_extra(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
>  {
>  	struct hv_enlightened_vmcs *hv_evmcs = vmx->nested.hv_evmcs;
>  
> @@ -2254,7 +2254,7 @@ static int prepare_vmcs02(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12,
>  	struct vcpu_vmx *vmx = to_vmx(vcpu);
>  
>  	if (vmx->nested.dirty_vmcs12 || vmx->nested.hv_evmcs) {
> -		prepare_vmcs02_full(vmx, vmcs12);
> +		prepare_vmcs02_extra(vmx, vmcs12);
>  		vmx->nested.dirty_vmcs12 = false;
>  	}
>  
> -- 
> 1.8.3.1
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] KVM: nVMX: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_extra
  2019-06-06 18:41 ` Sean Christopherson
@ 2019-06-06 19:19   ` Krish Sadhukhan
  2019-06-06 20:19     ` Paolo Bonzini
  2019-06-07 12:19   ` Paolo Bonzini
  1 sibling, 1 reply; 9+ messages in thread
From: Krish Sadhukhan @ 2019-06-06 19:19 UTC (permalink / raw)
  To: Sean Christopherson, Paolo Bonzini; +Cc: linux-kernel, kvm



On 06/06/2019 11:41 AM, Sean Christopherson wrote:
> On Thu, Jun 06, 2019 at 05:24:12PM +0200, Paolo Bonzini wrote:
>> These function do not prepare the entire state of the vmcs02, only the
>> rarely needed parts.  Rename them to make this clearer.
>>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>>   arch/x86/kvm/vmx/nested.c | 8 ++++----
>>   1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
>> index 84438cf23d37..fd8150ef6cce 100644
>> --- a/arch/x86/kvm/vmx/nested.c
>> +++ b/arch/x86/kvm/vmx/nested.c
>> @@ -1955,7 +1955,7 @@ static void prepare_vmcs02_constant_state(struct vcpu_vmx *vmx)
>>   	vmx_set_constant_host_state(vmx);
>>   }
>>   
>> -static void prepare_vmcs02_early_full(struct vcpu_vmx *vmx,
>> +static void prepare_vmcs02_early_extra(struct vcpu_vmx *vmx,
> Or maybe 'uncommon', 'rare' or 'ext'?  I don't I particularly love any of
> the names, but they're all better than 'full'.

The big chunk of the work in this function is done via 
prepare_vmcs02_constant_state(). It seems cleaner to get rid of 
prepare_vmcs02_early_full(), call prepare_vmcs02_constant_state() 
directly from prepare_vmcs02_early() and move the three vmcs_write16() 
calls to prepare_vmcs02_early().

>
> Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com>
>
>>   				      struct vmcs12 *vmcs12)
>>   {
>>   	prepare_vmcs02_constant_state(vmx);
>> @@ -1976,7 +1976,7 @@ static void prepare_vmcs02_early(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
>>   	u64 guest_efer = nested_vmx_calc_efer(vmx, vmcs12);
>>   
>>   	if (vmx->nested.dirty_vmcs12 || vmx->nested.hv_evmcs)
>> -		prepare_vmcs02_early_full(vmx, vmcs12);
>> +		prepare_vmcs02_early_extra(vmx, vmcs12);
>>   
>>   	/*
>>   	 * PIN CONTROLS
>> @@ -2130,7 +2130,7 @@ static void prepare_vmcs02_early(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
>>   	}
>>   }
>>   
>> -static void prepare_vmcs02_full(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
>> +static void prepare_vmcs02_extra(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
>>   {
>>   	struct hv_enlightened_vmcs *hv_evmcs = vmx->nested.hv_evmcs;
>>   
>> @@ -2254,7 +2254,7 @@ static int prepare_vmcs02(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12,
>>   	struct vcpu_vmx *vmx = to_vmx(vcpu);
>>   
>>   	if (vmx->nested.dirty_vmcs12 || vmx->nested.hv_evmcs) {
>> -		prepare_vmcs02_full(vmx, vmcs12);
>> +		prepare_vmcs02_extra(vmx, vmcs12);
>>   		vmx->nested.dirty_vmcs12 = false;
>>   	}
>>   
>> -- 
>> 1.8.3.1
>>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] KVM: nVMX: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_extra
  2019-06-06 19:19   ` Krish Sadhukhan
@ 2019-06-06 20:19     ` Paolo Bonzini
  0 siblings, 0 replies; 9+ messages in thread
From: Paolo Bonzini @ 2019-06-06 20:19 UTC (permalink / raw)
  To: Krish Sadhukhan, Sean Christopherson; +Cc: linux-kernel, kvm

On 06/06/19 21:19, Krish Sadhukhan wrote:
> 
> The big chunk of the work in this function is done via
> prepare_vmcs02_constant_state(). It seems cleaner to get rid of
> prepare_vmcs02_early_full(), call prepare_vmcs02_constant_state()
> directly from prepare_vmcs02_early() and move the three vmcs_write16()
> calls to prepare_vmcs02_early().
> 

This is just a mechanical search and replace, you can send a patch on
top to inline it in the caller.

Paolo

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] KVM: nVMX: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_extra
  2019-06-06 18:41 ` Sean Christopherson
  2019-06-06 19:19   ` Krish Sadhukhan
@ 2019-06-07 12:19   ` Paolo Bonzini
  2019-06-07 14:18     ` Sean Christopherson
  1 sibling, 1 reply; 9+ messages in thread
From: Paolo Bonzini @ 2019-06-07 12:19 UTC (permalink / raw)
  To: Sean Christopherson; +Cc: linux-kernel, kvm

On 06/06/19 20:41, Sean Christopherson wrote:
>> +static void prepare_vmcs02_early_extra(struct vcpu_vmx *vmx,
> Or maybe 'uncommon', 'rare' or 'ext'?  I don't I particularly love any of
> the names, but they're all better than 'full'.

I thought 'ext' was short for 'extra'? :)

Paolo

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] KVM: nVMX: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_extra
  2019-06-07 12:19   ` Paolo Bonzini
@ 2019-06-07 14:18     ` Sean Christopherson
  2019-06-07 15:17       ` Paolo Bonzini
  0 siblings, 1 reply; 9+ messages in thread
From: Sean Christopherson @ 2019-06-07 14:18 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: linux-kernel, kvm

On Fri, Jun 07, 2019 at 02:19:20PM +0200, Paolo Bonzini wrote:
> On 06/06/19 20:41, Sean Christopherson wrote:
> >> +static void prepare_vmcs02_early_extra(struct vcpu_vmx *vmx,
> > Or maybe 'uncommon', 'rare' or 'ext'?  I don't I particularly love any of
> > the names, but they're all better than 'full'.
> 
> I thought 'ext' was short for 'extra'? :)

Ha, I (obviously) didn't make that connection.  ext == extended in my mind.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] KVM: nVMX: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_extra
  2019-06-07 14:18     ` Sean Christopherson
@ 2019-06-07 15:17       ` Paolo Bonzini
  2019-06-07 16:04         ` Sean Christopherson
  0 siblings, 1 reply; 9+ messages in thread
From: Paolo Bonzini @ 2019-06-07 15:17 UTC (permalink / raw)
  To: Sean Christopherson; +Cc: linux-kernel, kvm

On 07/06/19 16:18, Sean Christopherson wrote:
> On Fri, Jun 07, 2019 at 02:19:20PM +0200, Paolo Bonzini wrote:
>> On 06/06/19 20:41, Sean Christopherson wrote:
>>>> +static void prepare_vmcs02_early_extra(struct vcpu_vmx *vmx,
>>> Or maybe 'uncommon', 'rare' or 'ext'?  I don't I particularly love any of
>>> the names, but they're all better than 'full'.
>>
>> I thought 'ext' was short for 'extra'? :)
> 
> Ha, I (obviously) didn't make that connection.  ext == extended in my mind.

That's what came to mind first, but then "extended" had the same issue
as "full" (i.e. encompassing the "basic" set as well) so I decided you
knew better!

Paolo

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] KVM: nVMX: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_extra
  2019-06-07 15:17       ` Paolo Bonzini
@ 2019-06-07 16:04         ` Sean Christopherson
  2019-06-07 16:24           ` Paolo Bonzini
  0 siblings, 1 reply; 9+ messages in thread
From: Sean Christopherson @ 2019-06-07 16:04 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: linux-kernel, kvm

On Fri, Jun 07, 2019 at 05:17:09PM +0200, Paolo Bonzini wrote:
> On 07/06/19 16:18, Sean Christopherson wrote:
> > On Fri, Jun 07, 2019 at 02:19:20PM +0200, Paolo Bonzini wrote:
> >> On 06/06/19 20:41, Sean Christopherson wrote:
> >>>> +static void prepare_vmcs02_early_extra(struct vcpu_vmx *vmx,
> >>> Or maybe 'uncommon', 'rare' or 'ext'?  I don't I particularly love any of
> >>> the names, but they're all better than 'full'.
> >>
> >> I thought 'ext' was short for 'extra'? :)
> > 
> > Ha, I (obviously) didn't make that connection.  ext == extended in my mind.
> 
> That's what came to mind first, but then "extended" had the same issue
> as "full" (i.e. encompassing the "basic" set as well) so I decided you
> knew better!

Ah, I was thinking of "basic" and "extended" as separate states, but your
interpretation is correct.

I probably have a slight preference for 'uncommon' over 'extra'?  I feel
like they have equal odds of being misinterpreted, so pick your poison :-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] KVM: nVMX: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_extra
  2019-06-07 16:04         ` Sean Christopherson
@ 2019-06-07 16:24           ` Paolo Bonzini
  0 siblings, 0 replies; 9+ messages in thread
From: Paolo Bonzini @ 2019-06-07 16:24 UTC (permalink / raw)
  To: Sean Christopherson; +Cc: linux-kernel, kvm

On 07/06/19 18:04, Sean Christopherson wrote:
>> That's what came to mind first, but then "extended" had the same issue
>> as "full" (i.e. encompassing the "basic" set as well) so I decided you
>> knew better!
> Ah, I was thinking of "basic" and "extended" as separate states, but your
> interpretation is correct.
> 
> I probably have a slight preference for 'uncommon' over 'extra'?  I feel
> like they have equal odds of being misinterpreted, so pick your poison :-)

Among your proposals, in fact, I also thought of "uncommon" and "rare".
 Uncommon is a bit long so I'll go with "rare", knowing that the meat
reference will give me a chuckle every now and then.

Paolo

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-06-07 16:24 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-06 15:24 [PATCH] KVM: nVMX: Rename prepare_vmcs02_*_full to prepare_vmcs02_*_extra Paolo Bonzini
2019-06-06 18:41 ` Sean Christopherson
2019-06-06 19:19   ` Krish Sadhukhan
2019-06-06 20:19     ` Paolo Bonzini
2019-06-07 12:19   ` Paolo Bonzini
2019-06-07 14:18     ` Sean Christopherson
2019-06-07 15:17       ` Paolo Bonzini
2019-06-07 16:04         ` Sean Christopherson
2019-06-07 16:24           ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).