Re: [Xen-devel] [PATCH 2/6] x86: add support for COS/CBM manangement

2015-03-17 Thread Chao Peng
On Tue, Mar 17, 2015 at 09:25:48AM +, Jan Beulich wrote: > >>> On 17.03.15 at 10:11, wrote: > > On Mon, Mar 16, 2015 at 05:10:32PM +, Jan Beulich wrote: > >> >>> On 13.03.15 at 11:13, wrote: > >> > +else > >> > +{ > >> > +unsigned int cpu = cpumask_check(get_socket_cpu(soc

Re: [Xen-devel] [PATCH 2/6] x86: add support for COS/CBM manangement

2015-03-17 Thread Jan Beulich
>>> On 17.03.15 at 10:11, wrote: > On Mon, Mar 16, 2015 at 05:10:32PM +, Jan Beulich wrote: >> >>> On 13.03.15 at 11:13, wrote: >> > +else >> > +{ >> > +unsigned int cpu = cpumask_check(get_socket_cpu(socket)); >> >> Isn't this going to trigger an assertion when the socket co

Re: [Xen-devel] [PATCH 2/6] x86: add support for COS/CBM manangement

2015-03-17 Thread Chao Peng
On Mon, Mar 16, 2015 at 05:10:32PM +, Jan Beulich wrote: > >>> On 13.03.15 at 11:13, wrote: > > +else > > +{ > > +unsigned int cpu = cpumask_check(get_socket_cpu(socket)); > > Isn't this going to trigger an assertion when the socket count got > specified on the command line?

Re: [Xen-devel] [PATCH 2/6] x86: add support for COS/CBM manangement

2015-03-17 Thread Chao Peng
On Fri, Mar 13, 2015 at 09:53:37AM -0400, Konrad Rzeszutek Wilk wrote: > > +xfree(d->arch.psr_cos_ids); > > And d->arch.psr_cos_ids = NULL > > (however this depends on who calls psr_domain_init, which > is unclear to me). > > > +} > > + > > +int psr_domain_init(struct domain *d) > > +{ > > +

Re: [Xen-devel] [PATCH 2/6] x86: add support for COS/CBM manangement

2015-03-16 Thread Jan Beulich
>>> On 13.03.15 at 11:13, wrote: > --- a/xen/arch/x86/domctl.c > +++ b/xen/arch/x86/domctl.c > @@ -1324,6 +1324,24 @@ long arch_do_domctl( > } > break; > > +case XEN_DOMCTL_psr_cat_op: > +switch ( domctl->u.psr_cat_op.cmd ) > +{ > +case XEN_DOMCTL_PS

Re: [Xen-devel] [PATCH 2/6] x86: add support for COS/CBM manangement

2015-03-13 Thread Konrad Rzeszutek Wilk
> +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) */ Missing '.'. > +if ( cbm & (~0ull << cbm_len) ) > +return 0; > + > +/* At least two contiguous bits n

[Xen-devel] [PATCH 2/6] x86: add support for COS/CBM manangement

2015-03-13 Thread Chao Peng
CAT introduces a mechanism for software to enable cache allocation based on application priority or Class of Service(COS). Each COS can be configured using capacity bitmasks(CBM) to represent cache capacity and indicate the degree of overlap and isolation between COSs. In XEN implementation, the c