[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] X86: Fix vcpu xsave bug


  • To: Jan Beulich <JBeulich@xxxxxxxx>
  • From: "Liu, Jinsong" <jinsong.liu@xxxxxxxxx>
  • Date: Mon, 18 Nov 2013 10:35:48 +0000
  • Accept-language: en-US
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Mon, 18 Nov 2013 10:35:56 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>
  • Thread-index: AQHO5D1yEMsBhgs/bUK0+0m1M8cBrJoqyhGQ
  • Thread-topic: [Xen-devel] [PATCH] X86: Fix vcpu xsave bug

Jan Beulich wrote:
>>>> On 15.11.13 at 17:55, "Liu, Jinsong" <jinsong.liu@xxxxxxxxx> wrote:
>> --- a/xen/arch/x86/i387.c
>> +++ b/xen/arch/x86/i387.c
>> @@ -134,7 +134,7 @@ static inline void fpu_frstor(struct vcpu *v)
>>  /*      FPU Save Functions     */
>>  /*******************************/
>>  /* Save x87 extended state */
>> -static inline void fpu_xsave(struct vcpu *v)
>> +static inline void fpu_xsave(struct vcpu *v, uint64_t mask)
> 
> You get v passed here, so no need to add a new parameter.
> 
>> @@ -145,7 +145,7 @@ static inline void fpu_xsave(struct vcpu *v)    
>>      */ ok = set_xcr0(v->arch.xcr0_accum | XSTATE_FP_SSE);     
>> ASSERT(ok); -    xsave(v, v->arch.nonlazy_xstate_used ? XSTATE_ALL :
>> XSTATE_LAZY); +    xsave(v, mask);
> 
> Instead, you can check v->fpu_dirtied here.

OK, remove mask parameter.

> 
>> @@ -257,22 +257,29 @@ void vcpu_restore_fpu_lazy(struct vcpu *v)   */
>>  void vcpu_save_fpu(struct vcpu *v)
>>  {
>> -    if ( !v->fpu_dirtied )
>> -        return;
>> -
> 
> And the - afaict - the only changed needed to this function is the
> deletion above.
> 

If I didn't misunderstand your meaning, it can not only delete these 2 lines, 
say, when (!v->fpu_dirtied) and in old platform that do fpu_fxsave/fpu_fsave?

Thanks,
Jinsong


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.