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

Re: [Xen-devel] [PATCH v4 09/12] x86: add scheduling support for Intel CAT



On Thu, Apr 09, 2015 at 11:12:24PM +0100, Andrew Cooper wrote:
> On 09/04/2015 10:18, Chao Peng wrote:
> > On context switch, write the the domain's Class of Service(COS) to MSR
> > IA32_PQR_ASSOC, to notify hardware to use the new COS.
> >
> > For performance reason, the socket number and COS mask for current cpu
> > is also cached in the local per-CPU variable.
> >
> > Signed-off-by: Chao Peng <chao.p.peng@xxxxxxxxxxxxxxx>
> > ---
> > Changes in v2:
> > * merge common scheduling changes into scheduling improvement patch.
> > * use readable expr for psra->cos_mask.
> > ---
> >  xen/arch/x86/psr.c | 33 ++++++++++++++++++++++++++++++++-
> >  1 file changed, 32 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
> > index 5247bcd..046229d 100644
> > --- a/xen/arch/x86/psr.c
> > +++ b/xen/arch/x86/psr.c
> > @@ -37,6 +37,8 @@ struct psr_cat_socket_info {
> >  
> >  struct psr_assoc {
> >      uint64_t val;
> > +    unsigned int socket;
> 
> psr_assoc is per-cpu.  Why does it need to cache its own socket like this?
> 
> If it does, please reorder socket and cos_mask to avoid the padding space.

Just want to eliminate the need to perform
'cpu_to_socket(smp_processor_id())' for each context switch.
Since it's cheap, I have no problem to not cache it here.

Chao

> 
> > +    uint64_t cos_mask;
> >  };

_______________________________________________
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®.