Re: Ping: [PATCH] x86/xstate: reset cached register values on resume

2021-11-03 Thread Jan Beulich
On 01.11.2021 14:40, Marek Marczykowski-Górecki wrote: > On Thu, Oct 21, 2021 at 03:44:27PM +0200, Roger Pau Monné wrote: >> On Mon, Oct 18, 2021 at 10:21:28AM +0200, Jan Beulich wrote: >>> On 24.08.2021 23:11, Andrew Cooper wrote: On 18/08/2021 13:44, Andrew Cooper wrote: > On 18/08/2021

Re: Ping: [PATCH] x86/xstate: reset cached register values on resume

2021-11-01 Thread Marek Marczykowski-Górecki
On Thu, Oct 21, 2021 at 03:44:27PM +0200, Roger Pau Monné wrote: > On Mon, Oct 18, 2021 at 10:21:28AM +0200, Jan Beulich wrote: > > On 24.08.2021 23:11, Andrew Cooper wrote: > > > On 18/08/2021 13:44, Andrew Cooper wrote: > > >> On 18/08/2021 12:30, Marek Marczykowski-Górecki wrote: > > >>> set_xcr

Re: Ping: [PATCH] x86/xstate: reset cached register values on resume

2021-10-21 Thread Roger Pau Monné
On Mon, Oct 18, 2021 at 10:21:28AM +0200, Jan Beulich wrote: > On 24.08.2021 23:11, Andrew Cooper wrote: > > On 18/08/2021 13:44, Andrew Cooper wrote: > >> On 18/08/2021 12:30, Marek Marczykowski-Górecki wrote: > >>> set_xcr0() and set_msr_xss() use cached value to avoid setting the > >>> register

Ping: [PATCH] x86/xstate: reset cached register values on resume

2021-10-18 Thread Jan Beulich
On 24.08.2021 23:11, Andrew Cooper wrote: > On 18/08/2021 13:44, Andrew Cooper wrote: >> On 18/08/2021 12:30, Marek Marczykowski-Górecki wrote: >>> set_xcr0() and set_msr_xss() use cached value to avoid setting the >>> register to the same value over and over. But suspend/resume implicitly >>> rese

Re: [PATCH] x86/xstate: reset cached register values on resume

2021-08-26 Thread Andrew Cooper
On 26/08/2021 08:40, Jan Beulich wrote: > On 25.08.2021 18:49, Andrew Cooper wrote: >> On 25/08/2021 16:02, Jan Beulich wrote: >>> On 24.08.2021 23:11, Andrew Cooper wrote: >>> If >>> the register started out non-zero (the default on AMD iirc, as it's >>> not really masks there) but the first valu

Re: [PATCH] x86/xstate: reset cached register values on resume

2021-08-26 Thread Jan Beulich
On 25.08.2021 18:49, Andrew Cooper wrote: > On 25/08/2021 16:02, Jan Beulich wrote: >> On 24.08.2021 23:11, Andrew Cooper wrote: >>> On 18/08/2021 13:44, Andrew Cooper wrote: On 18/08/2021 12:30, Marek Marczykowski-Górecki wrote: > set_xcr0() and set_msr_xss() use cached value to avoid set

Re: [PATCH] x86/xstate: reset cached register values on resume

2021-08-25 Thread Andrew Cooper
On 25/08/2021 16:02, Jan Beulich wrote: > On 24.08.2021 23:11, Andrew Cooper wrote: >> On 18/08/2021 13:44, Andrew Cooper wrote: >>> On 18/08/2021 12:30, Marek Marczykowski-Górecki wrote: set_xcr0() and set_msr_xss() use cached value to avoid setting the register to the same value over an

Re: [PATCH] x86/xstate: reset cached register values on resume

2021-08-25 Thread Jan Beulich
On 24.08.2021 23:11, Andrew Cooper wrote: > On 18/08/2021 13:44, Andrew Cooper wrote: >> On 18/08/2021 12:30, Marek Marczykowski-Górecki wrote: >>> set_xcr0() and set_msr_xss() use cached value to avoid setting the >>> register to the same value over and over. But suspend/resume implicitly >>> rese

Re: [PATCH] x86/xstate: reset cached register values on resume

2021-08-24 Thread Andrew Cooper
On 18/08/2021 13:44, Andrew Cooper wrote: > On 18/08/2021 12:30, Marek Marczykowski-Górecki wrote: >> set_xcr0() and set_msr_xss() use cached value to avoid setting the >> register to the same value over and over. But suspend/resume implicitly >> reset the registers and since percpu areas are not d

Re: [PATCH] x86/xstate: reset cached register values on resume

2021-08-19 Thread Marek Marczykowski-Górecki
On Wed, Aug 18, 2021 at 01:44:31PM +0100, Andrew Cooper wrote: > On 18/08/2021 12:30, Marek Marczykowski-Górecki wrote: > > set_xcr0() and set_msr_xss() use cached value to avoid setting the > > register to the same value over and over. But suspend/resume implicitly > > reset the registers and sinc

Re: [PATCH] x86/xstate: reset cached register values on resume

2021-08-18 Thread Andrew Cooper
On 18/08/2021 12:30, Marek Marczykowski-Górecki wrote: > set_xcr0() and set_msr_xss() use cached value to avoid setting the > register to the same value over and over. But suspend/resume implicitly > reset the registers and since percpu areas are not deallocated on > suspend anymore, the cache gets

Re: [PATCH] x86/xstate: reset cached register values on resume

2021-08-18 Thread Marek Marczykowski-Górecki
On Wed, Aug 18, 2021 at 02:05:05PM +0200, Jan Beulich wrote: > On 18.08.2021 13:30, Marek Marczykowski-Górecki wrote: > > --- a/xen/arch/x86/xstate.c > > +++ b/xen/arch/x86/xstate.c > > @@ -642,6 +642,13 @@ void xstate_init(struct cpuinfo_x86 *c) > > return; > > } > > > > +/* >

Re: [PATCH] x86/xstate: reset cached register values on resume

2021-08-18 Thread Jan Beulich
On 18.08.2021 13:30, Marek Marczykowski-Górecki wrote: > --- a/xen/arch/x86/xstate.c > +++ b/xen/arch/x86/xstate.c > @@ -642,6 +642,13 @@ void xstate_init(struct cpuinfo_x86 *c) > return; > } > > +/* > + * Clear the cached value to make set_xcr0() and set_msr_xss() really >

[PATCH] x86/xstate: reset cached register values on resume

2021-08-18 Thread Marek Marczykowski-Górecki
set_xcr0() and set_msr_xss() use cached value to avoid setting the register to the same value over and over. But suspend/resume implicitly reset the registers and since percpu areas are not deallocated on suspend anymore, the cache gets stale. Reset the cache on resume, to ensure the next write wil