[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 8/8] tools: add tools support for Intel CAT
On Thu, Apr 02, 2015 at 11:15:53AM +0800, Chao Peng wrote: > On Wed, Apr 01, 2015 at 10:23:01AM +0100, Ian Campbell wrote: > > On Wed, 2015-04-01 at 17:06 +0800, Chao Peng wrote: > > > > > If this one returns all sockets but not a specified socket data > > > > > (which I agreed) > > > > > and not consider legacy cmt code, then I think I can make > > > > > libxl_count_physical_sockets() private and move it to > > > > > libxl/libxl_psr.c. > > > > > > > > What is the legacy cmt code? But otherwise I agree, yes. > > > > > > In libxl/xl_cmdimpl.c, psr_cmt_show also calculates the socket count > > > itself. If we want to refactor it with new libxl_count_physical_sockets > > > then libxl_count_physical_sockets should be public, otherwise it can be > > > private to libxl_psr.c only. From my side, both directions sound OK. > > > > Ah, so we would want a "return a list of all sockets" variant of > > libxl_psr_cmt_get_cache_occupancy too? I think that's fine, we need to > > keep the old interface but we could easily add a new one, e.g. > > libxl_psr_cmt_get_all_cache_occupancy (insert the word "sockets" if you > > like). > > The libxl_psr_cmt_get_cache_occupancy is actually not used in xl anymore > and should be considered as obsolete. Substitute is > libxl_psr_cmt_get_sample which is the common API for both cache > occupancy and memory bandwidth(For the latter the routine will be called > twice). So if we really want to do everything batch in libxl then > perhaps we should do that for libxl_psr_cmt_get_sample. > > The other candidate is libxl_psr_cmt_get_l3_cache_size, which can also > do batch in libxl. > > While there is also drawback: If both > libxl_psr_cmt_get_sample/libxl_psr_cmt_get_l3_cache_size do their > batches in libxl, then libxl_count_physical_sockets will be called twice > in libxl which may bring performance drop. > > Another solution is only do batch for libxl_psr_cmt_get_l3_cache_size. > It returns all sockets's cache size and meantime the socket number. Once > we get socket number, other functions(Both libxl_psr_cmt_get_sample for > CMT/MBM and libxl_psr_cat_get_l3_info/libxl_psr_cat_get_cbm for CAT) > can be called socket by socket in xl. Ian, does this solution sounds OK to you? Chao > > > > So both interfaces would be something like: > > int libxl_psr_....(ctx, domid, TYPE **list_r, int *nr); > > > > And on success *list_r points to a newly allocated array and *nr is the > > number of elements in that array. TYPE depends on which op it is, so for > > cache_occupancy it seems a uint32_t. > > > > Is the socket address space always contiguous and starting at zero? If > > not then the array might need to contain (socket,TYPE) structs. > > > > Ian. > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |