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

Re: [Xen-devel] [PATCH v6 02/23] xen: move NUMA_NO_NODE to public memory.h as XEN_NUMA_NO_NODE



On Tue, Mar 03, 2015 at 07:44:25AM +0000, Jan Beulich wrote:
> >>> On 02.03.15 at 18:00, <wei.liu2@xxxxxxxxxx> wrote:
> > There are two issues here irrespective of this series:
> > 
> > 1. should we expose that sentinel in ABI?
> > 2. if so, what should the sentinel be?
> > 
> > I think Andrew and you disagree on the first one. We can work out the
> > answer to the second question later.
> 
> I very much think that if we want to allow a "no node" specification
> via the domctl, then this should be part of the ABI. But that value
> and its (implicit) equivalent used for memops don't need to be the
> same, and it looks like they can't. And looking at this I think the
> code we have right now needs fixing: The internal vnode_to_pnode
> array should become nodeid_t[], and input from the domctl should
> be validated to either be a valid pnode or the to be defined sentinel
> (which then, due to being stored as a more narrow type, needs
> translation to NUMA_NO_NODE).
> 
> If we don't want to allow "no node", then input should be validated
> to present valid pnodes.
> 

This is currently the case, I don't allow "no node". Not because the
toolstack is designed / expected to work, but because there are many
implications that I am not quite sure of (and this thread sorta confirms
that everybody has his / her idea of how this should work). Libxl always
requires the pnode to be a valid one. A sentinel is used between libxc
and libxl to mark if the node specified is a valid pnode.  Other than
that, that sentinel is not used, not passed down to hypervisor.

I think Andrew and Dario came to the idea of needing to have a unified
sentinel from different angels. Andrew happened to see me using (~0UL)
as a sentinel then wanted me to propagate the hypervisor sentinel. Dario
thought more about other use cases that might need provisioning.

In any case, whether exposing this sentinel or not has no immediate user
visible effect (it's only needed between libxc and libxl at the moment),
and we don't have any burden maintaining a different sentinel in libxc
because libxc is not defined as stable interface.

Due to the controversy of this patch, I'm fine with dropping this patch
and move forward (now 20+ patches are blocked by this one). If we
can't come to a resolution within this week, I will just drop this patch
and resend the others next week.

Wei.

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