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

Re: [Xen-devel] [PATCH v9 1/6] x86: detect and initialize Cache QoS Monitoring feature



> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
> Sent: Tuesday, March 18, 2014 6:28 PM
> To: Xu, Dongxiao
> Cc: andrew.cooper3@xxxxxxxxxx; Ian.Campbell@xxxxxxxxxx;
> Ian.Jackson@xxxxxxxxxxxxx; stefano.stabellini@xxxxxxxxxxxxx;
> xen-devel@xxxxxxxxxxxxx; konrad.wilk@xxxxxxxxxx; dgdegra@xxxxxxxxxxxxx;
> keir@xxxxxxx
> Subject: RE: [PATCH v9 1/6] x86: detect and initialize Cache QoS Monitoring
> feature
> 
> >>> On 18.03.14 at 11:15, "Xu, Dongxiao" <dongxiao.xu@xxxxxxxxx> wrote:
> >>  -----Original Message-----
> >> From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
> >> Sent: Tuesday, March 18, 2014 6:09 PM
> >> To: Xu, Dongxiao
> >> Cc: andrew.cooper3@xxxxxxxxxx; Ian.Campbell@xxxxxxxxxx;
> >> Ian.Jackson@xxxxxxxxxxxxx; stefano.stabellini@xxxxxxxxxxxxx;
> >> xen-devel@xxxxxxxxxxxxx; konrad.wilk@xxxxxxxxxx; dgdegra@xxxxxxxxxxxxx;
> >> keir@xxxxxxx
> >> Subject: RE: [PATCH v9 1/6] x86: detect and initialize Cache QoS Monitoring
> >> feature
> >>
> >> >>> On 18.03.14 at 11:02, "Xu, Dongxiao" <dongxiao.xu@xxxxxxxxx> wrote:
> >> > Previously due to the large amount of data, we use the method to let Xen
> >> > share the CQM pages to Dom0 in read only way to avoid data copy.
> >> > However since the data amount is reduced a lot with above approach, do
> you
> >> > think whether we still need to use this share way? Or like most of the
> > other
> >> > sysctl/domctl (e.g., xl list) command, which uses copy_to_guest() to pass
> > the
> >> > data?
> >>
> >> Iirc we're talking about a square table with each dimension being the
> >> socket count. Considering an 8-node 4-socket system, that would
> >> still be 1024 entries, i.e. exceeding a page in size. Hence I would
> >> think that the read-only sharing approach might still be better. Of
> >> course, if the data amount was smaller (and by so much that even
> >> on huge systems it's no more than a page), that would be different.
> >
> > Okay.
> >
> > By using dynamic memory allocation and data sharing mechanism, we may
> need
> > two hypercalls when Dom0 tool stack is querying CQM related info.
> >  - 1st hypercall is to let Xen allocate the memory and put CQM data there.
> >  - 2nd hypercall is to indicate Dom0 tool stack already digested the CQM 
> > data
> > and Xen can free the memory.
> 
> Why would that memory ever need de-allocating?
> 
> Anyway, could you clarify again what amount of data we're
> talking about, without me having to dig out the old patch series?

Originally we statically allocate memory in initialization time, and the size 
is "rmid_max * socket_max", which may be a very big value. As the propose in 
today's first mail, we can use the dynamic memory allocation as "rmid_inuse * 
socket_inuse" for CQM related pages when user is really issuing query 
operations, this can save the allocated memory size, because at that point, we 
know the exact socket number in the system and exact the in use RMID, and no 
need to predict them as maximum values.

Back to the above question why memory need de-allocating:
Since the rmid_inuse and socket_inuse may be changing from time to time, the 
allocating memory size will be different. Therefore we need to allocate them 
when user issues the hypercall, and then free them after the data digest is 
finished.

Not sure whether I stated the problem clearly for you.

Thanks,
Dongxiao

> 
> Jan


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