>>> On 23.06.15 at 11:03, wrote:
> On Tue, Jun 23, 2015 at 09:35:30AM +0100, Jan Beulich wrote:
>> >>> On 23.06.15 at 09:19, wrote:
>> > On Tue, Jun 16, 2015 at 08:08:34AM +0100, Jan Beulich wrote:
>> >> >>> On 03.06.15 at 06:53, wrote:
>> >> > +int psr_set_l3_cbm(struct domain *d, unsigned int
On Tue, Jun 23, 2015 at 09:35:30AM +0100, Jan Beulich wrote:
> >>> On 23.06.15 at 09:19, wrote:
> > On Tue, Jun 16, 2015 at 08:08:34AM +0100, Jan Beulich wrote:
> >> >>> On 03.06.15 at 06:53, wrote:
> >> > +int psr_set_l3_cbm(struct domain *d, unsigned int socket, uint64_t cbm)
> >> > +{
> >> > +
>>> On 23.06.15 at 09:19, wrote:
> On Tue, Jun 16, 2015 at 08:08:34AM +0100, Jan Beulich wrote:
>> >>> On 03.06.15 at 06:53, wrote:
>> > +int psr_set_l3_cbm(struct domain *d, unsigned int socket, uint64_t cbm)
>> > +{
>> > +unsigned int old_cos, cos;
>> > +struct psr_cat_cbm *map, *found
On Tue, Jun 16, 2015 at 08:08:34AM +0100, Jan Beulich wrote:
> >>> On 03.06.15 at 06:53, wrote:
> > +int psr_set_l3_cbm(struct domain *d, unsigned int socket, uint64_t cbm)
> > +{
> > +unsigned int old_cos, cos;
> > +struct psr_cat_cbm *map, *found = NULL;
> > +struct psr_cat_socket_in
>>> On 03.06.15 at 06:53, wrote:
> +static bool_t psr_check_cbm(unsigned int cbm_len, uint64_t cbm)
> +{
> +unsigned int first_bit, zero_bit;
> +
> +/* Set bits should only in the range of [0, cbm_len). */
> +if ( cbm & (~0ull << cbm_len) )
> +return 0;
> +
> +/* At least o
For CAT, COS is maintained in hypervisor only while CBM is exposed to
user space directly to allow getting/setting domain's cache capacity.
For each specified CBM, hypervisor will either use a existed COS which
has the same CBM or allocate a new one if the same CBM is not found. If
the allocation f