|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 10/14] libxc: get and set soft and hard affinity
On Tue, 2013-11-19 at 14:51 +0000, George Dunlap wrote:
> On 11/18/2013 06:18 PM, Dario Faggioli wrote:
> > by using the new flag introduced in the parameters of the
> > DOMCTL_{get,set}_vcpuaffinity hypercall.
> >
> > This happens by adding a new parameter (flags) to
> > xc_vcpu_setaffinity() and xc_vcpu_getaffinity(), so that the
> > caller can decide to set either the soft or hard affinity, or
> > even both.
> >
> > In case of setting both hard and soft, they are set to the
> > same cpumap. xc_get_setaffinity() also takes another new param,
> > for reporting back to the caller what the actual affinity the
> > scheduler uses will be after a successful call.
> > In case of asking to get both hard and soft, what the caller
> > gets is the intersection between them.
> >
> > In-tree callers are also fixed to cope with the new interface.
> >
> > Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx>
>
> Acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
>
> But...
>
> > ---
> > Changes from v2:
> > * better cleanup logic in _vcpu_setaffinity() (regarding
> > xc_hypercall_buffer_{alloc,free}()), as suggested during
> > review;
> > * make it more evident that DOMCTL_setvcpuaffinity has an out
> > parameter, by calling ecpumap_out, and improving the comment
> > wrt that;
> > * change the interface and have xc_vcpu_[sg]etaffinity() so
> > that they take the new parameters (flags and ecpumap_out) and
> > fix the in tree callers.
> > ---
> > tools/libxc/xc_domain.c | 47
> > +++++++++++++++++++++--------------
> > tools/libxc/xenctrl.h | 44
> > ++++++++++++++++++++++++++++++++-
> > tools/libxl/libxl.c | 7 ++++-
> > tools/ocaml/libs/xc/xenctrl_stubs.c | 8 ++++--
> > tools/python/xen/lowlevel/xc/xc.c | 6 +++-
> > 5 files changed, 86 insertions(+), 26 deletions(-)
> >
> > diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
> > index f9ae4bf..bddf4e0 100644
> > --- a/tools/libxc/xc_domain.c
> > +++ b/tools/libxc/xc_domain.c
> > @@ -192,44 +192,52 @@ int xc_domain_node_getaffinity(xc_interface *xch,
> > int xc_vcpu_setaffinity(xc_interface *xch,
> > uint32_t domid,
> > int vcpu,
> > - xc_cpumap_t cpumap)
> > + xc_cpumap_t cpumap,
> > + uint32_t flags,
> > + xc_cpumap_t ecpumap_out)
> > {
> > DECLARE_DOMCTL;
> > - DECLARE_HYPERCALL_BUFFER(uint8_t, local);
> > + DECLARE_HYPERCALL_BUFFER(uint8_t, cpumap_local);
> > + DECLARE_HYPERCALL_BUFFER(uint8_t, ecpumap_local);
> > int ret = -1;
> > int cpusize;
> >
> > cpusize = xc_get_cpumap_size(xch);
> > - if (!cpusize)
> > + if ( !cpusize )
>
> I know IanJ will have something to say about non-snuggly braces here and
> below. :-)
The spaces are legit in libxc I think, it uses Xen coding style. It's
libxl which differs...
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |