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

Re: [Xen-devel] [PATCH RESEND v5 01/24] docs: create L2 Cache Allocation Technology (CAT) feature document



On 17-01-30 15:39:28, Konrad Rzeszutek Wilk wrote:
> > > +# Testing
> > > +
> > > +L2 CAT uses same xl interfaces as L3 CAT/CDP. So, we can execute these
> > > +commands to verify L2 CAT and L3 CAT/CDP on different HWs support them.
> > > +
> > > +For example:
> > > +    root@:~$ xl psr-hwinfo --cat
> > > +    Cache Allocation Technology (CAT): L2
> > > +    Socket ID       : 0
> > > +    Maximum COS     : 3
> > > +    CBM length      : 8
> > > +    Default CBM     : 0xff
> > > +
> > > +    root@:~$ xl psr-cat-cbm-set -l2 1 0x7f
> > > +
> > > +    root@:~$ xl psr-cat-show -l2 1
> > > +    Socket ID       : 0
> > > +    Default CBM     : 0xff
> > > +       ID                     NAME             CBM
> > > +        1                 ubuntu14            0x7f
> > > +
> 
> I tried finding the Intel SDM (December 2016) what the format
> of CBM is as the value '0x7f' does not really mean much to me.
> 
> Right above Figure 17.28 it says:
> 
> "Figure 17-27 also shows three examples of sets of Cache Capacity Bitmasks. 
> For simplicity these are represented
> as 8-bit vectors, though this may vary _depending on the implementation and 
> how the mask is mapped to the avail-
> able cache capacity._"
> 
> 
> So in other words - not documented. 
> 
> Then later is says:
> 
> " Rather, this is a convenient manner to represent capacity,
> overlap and isolation of cache space. For example, executing a POPCNT 
> instruction (population count of set bits) on
> the capacity bitmask can provide the fraction of cache space that a class of 
> service can allocate into."
>
Right after this sentence, the spec mentions "In addition to the fraction, the 
exact location of the
bits also shows whether the class of service overlaps with other classes of 
service or is entirely
isolated in terms of cache space used." 

For example:
For domain 1, assign 0xF to it.
For domain 2, assign 0x30 to it.
That means, the cache spaces that domain 1 and domain 2 are using are isolated.

For domain 3, assgin 0x3 to it.
That means, domain 3 cache space overlaps domain 1.

So, we may not just input how much space to be assigned to one domain. :)

> OK, so _can_ (but not _MUST_), so again implementation specific - and
> can provide a fraction of cache space.
> 
> Which would imply that the values could be:
> 
> 0x0F - half of L2
> 0x03 - quarter of L2
> 
> Is there some other documentation that explains this in more details?
> 
> If it is like I mentioned would it make sense to have 'xl' be capable
> of dealing with string values? such as "three-quarters", "half", etc
> and then set it? Or percentage and map that to the correct value?
> 
> Like:
> 
> xl psr-cat-cbm-set -l2 ubuntu14 50%
> 
> would be quite obvious instead of say 0x0F?
> 
> Thanks.



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

 


Rackspace

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