xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Chao Peng <chao.p.peng@linux.intel.com>
To: Wei Liu <wei.liu2@citrix.com>
Cc: Ian.Campbell@citrix.com, stefano.stabellini@eu.citrix.com,
	Dario Faggioli <dario.faggioli@citrix.com>,
	g@zion.uk.xensource.com, Ian.Jackson@eu.citrix.com,
	xen-devel@lists.xen.org
Subject: Re: [PATCH for Xen 4.6 3/5] tools/libxl: return socket id from libxl_psr_cat_get_l3_info
Date: Tue, 29 Sep 2015 11:05:27 +0800	[thread overview]
Message-ID: <20150929030527.GF5813@pengc-linux.bj.intel.com> (raw)
In-Reply-To: <20150928154616.GO13821@zion.uk.xensource.com>

On Mon, Sep 28, 2015 at 04:46:17PM +0100, Wei Liu wrote:
> On Mon, Sep 28, 2015 at 05:35:56PM +0200, Dario Faggioli wrote:
> > On Mon, 2015-09-28 at 15:13 +0100, Wei Liu wrote:
> > > On Mon, Sep 28, 2015 at 07:54:51PM +0800, Chao Peng wrote:
> > 
> > > > diff --git a/tools/libxl/libxl_psr.c b/tools/libxl/libxl_psr.c
> > > > index 3378239..10e1113 100644
> > 
> > > > @@ -339,7 +339,8 @@ int libxl_psr_cat_get_l3_info(libxl_ctx *ctx,
> > > > libxl_psr_cat_info **info,
> > > >  {
> > > >      GC_INIT(ctx);
> > > >      int rc;
> > > > -    int i, nr_sockets;
> > > > +    int i = 0, socket, nr_sockets;
> > > > +    libxl_bitmap socketmap;
> > > >      libxl_psr_cat_info *ptr;
> > > >  
> > > >      rc = libxl__count_physical_sockets(gc, &nr_sockets);
> > > > @@ -348,21 +349,31 @@ int libxl_psr_cat_get_l3_info(libxl_ctx *ctx,
> > > > libxl_psr_cat_info **info,
> > > >          goto out;
> > > >      }
> > > 
> > > This is a path that you call libxl_bitmap_dispose on an uninitialised
> > > socketmap.
> > > 
> > Yep.
> > 
> > However, do we still need to go through libxl__count_physical_sockets()
> > explicitly? AFAICS, you need it for allocating ptr, and for returning
> > it back.

Not just for allocating ptr only, but also for allocating socketmap.

> > 
> > But since now you're building the full bitmap, we can use
> > libxl_bitmap_count_set(), for that.
> > 
> > This may not be a bit deal, but if I'm not wrong, it saves us an
> > hypercall (the PHYSINFO that libxl__count_physical_socket() issues).
> >

I can pass 0 to libxl_socket_bitmap_alloc() but it will call hypercall
internally. We need the size for the socketmap anyway before we
allocating it.

> 
> Right, this is optimisation. I'm not too fussed either way as long as
> this function is functionally correct. :-)
> 
> > > > --- a/tools/libxl/libxl_types.idl
> > > > +++ b/tools/libxl/libxl_types.idl
> > > > @@ -792,6 +792,7 @@ libxl_psr_cbm_type =
> > > > Enumeration("psr_cbm_type", [
> > > >      ])
> > > >  
> > > >  libxl_psr_cat_info = Struct("psr_cat_info", [
> > > > +    ("target_id", uint32),
> > > 
> > > Or just call it "socket_id"? Or even just "id" because you know this
> > > structure is for socket?
> > > 
> > Yeah, we discussed this already, AFAICR. I think the point is that, at
> > least in theory, these features may be extended to become more fine
> > -grained than per-socket, hence the point of not binding the interface
> > to sockets.
> > 
> > That being said, FWIW, I'm fine either way.
> > 
> 
> The thing that bugs me a little is that "target_id" doesn't seem very
> meaningful. I would just go for "id" if it is not bound to socket.
> 
> Chao, what do you think?

"id" looks right for me. I don't like "target_id" as well but just can't
find out a better name :)

Chao

  reply	other threads:[~2015-09-29  3:05 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-28 11:54 [PATCH for Xen 4.6 0/5] Several PSR fixes in libxl Chao Peng
2015-09-28 11:54 ` [PATCH for Xen 4.6 1/5] tools/libxl: introduce libxl_socket_bitmap_fill Chao Peng
2015-09-28 14:12   ` Wei Liu
2015-09-28 14:53     ` Dario Faggioli
2015-09-28 14:57       ` Wei Liu
2015-09-29  2:47       ` Chao Peng
2015-09-29  2:49     ` Chao Peng
2015-09-28 11:54 ` [PATCH for Xen 4.6 2/5] tools/libxl: fix socket display error for CMT Chao Peng
2015-09-28 14:13   ` Wei Liu
2015-09-28 15:06   ` Dario Faggioli
2015-09-28 15:36     ` Wei Liu
2015-09-29  2:53       ` Chao Peng
2015-09-28 11:54 ` [PATCH for Xen 4.6 3/5] tools/libxl: return socket id from libxl_psr_cat_get_l3_info Chao Peng
2015-09-28 14:13   ` Wei Liu
2015-09-28 15:35     ` Dario Faggioli
2015-09-28 15:46       ` Wei Liu
2015-09-29  3:05         ` Chao Peng [this message]
2015-09-29  7:19           ` Dario Faggioli
2015-09-28 11:54 ` [PATCH for Xen 4.6 4/5] tools/libxl: fix range check in main_psr_cat_cbm_set Chao Peng
2015-09-28 14:14   ` Wei Liu
2015-09-28 15:16     ` Dario Faggioli
2015-09-28 11:54 ` [PATCH for Xen 4.6 5/5] docs: make xl-psr.markdown more precise Chao Peng
2015-09-28 14:14   ` Wei Liu
2015-09-28 15:15   ` Dario Faggioli
2015-09-28 14:16 ` [PATCH for Xen 4.6 0/5] Several PSR fixes in libxl Wei Liu
2015-09-28 15:42   ` Dario Faggioli
2015-09-29  3:08     ` Chao Peng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150929030527.GF5813@pengc-linux.bj.intel.com \
    --to=chao.p.peng@linux.intel.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=dario.faggioli@citrix.com \
    --cc=g@zion.uk.xensource.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).