[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/3] tools: sched: add support for 'null' scheduler
On Fri, 17 Mar 2017, Dario Faggioli wrote: > It being very very basic, also means this scheduler does > not need much support at the tools level (for now). > > Basically, just the definition of the symbol of the > scheduler itself and a couple of stubs. > > Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx> Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > --- > Cc: Wei Liu <wei.liu2@xxxxxxxxxx> > Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> > Cc: George Dunlap <george.dunlap@xxxxxxxxxx> > Cc: Stefano Stabellini <stefano@xxxxxxxxxxx> > Cc: Julien Grall <julien.grall@xxxxxxx> > --- > tools/libxl/libxl.h | 6 ++++++ > tools/libxl/libxl_sched.c | 24 ++++++++++++++++++++++++ > tools/libxl/libxl_types.idl | 1 + > 3 files changed, 31 insertions(+) > > diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h > index 4c60e8f..5adac2d 100644 > --- a/tools/libxl/libxl.h > +++ b/tools/libxl/libxl.h > @@ -210,6 +210,12 @@ > #define LIBXL_HAVE_SCHED_RTDS 1 > > /* > + * LIBXL_HAVE_SCHED_NULL indicates that the 'null' static scheduler > + * is available. > + */ > +#define LIBXL_HAVE_SCHED_NULL 1 > + > +/* > * libxl_domain_build_info has u.hvm.viridian_enable and _disable bitmaps > * of the specified width. > */ > diff --git a/tools/libxl/libxl_sched.c b/tools/libxl/libxl_sched.c > index 84d3837..d44fbe1 100644 > --- a/tools/libxl/libxl_sched.c > +++ b/tools/libxl/libxl_sched.c > @@ -178,6 +178,20 @@ static int sched_arinc653_domain_set(libxl__gc *gc, > uint32_t domid, > return 0; > } > > +static int sched_null_domain_set(libxl__gc *gc, uint32_t domid, > + const libxl_domain_sched_params *scinfo) > +{ > + /* The null scheduler doesn't take any domain-specific parameters. */ > + return 0; > +} > + > +static int sched_null_domain_get(libxl__gc *gc, uint32_t domid, > + libxl_domain_sched_params *scinfo) > +{ > + /* The null scheduler doesn't have any domain-specific parameters. */ > + return ERROR_INVAL; > +} > + > static int sched_credit_domain_get(libxl__gc *gc, uint32_t domid, > libxl_domain_sched_params *scinfo) > { > @@ -730,6 +744,9 @@ int libxl_domain_sched_params_set(libxl_ctx *ctx, > uint32_t domid, > case LIBXL_SCHEDULER_RTDS: > ret=sched_rtds_domain_set(gc, domid, scinfo); > break; > + case LIBXL_SCHEDULER_NULL: > + ret=sched_null_domain_set(gc, domid, scinfo); > + break; > default: > LOGD(ERROR, domid, "Unknown scheduler"); > ret=ERROR_INVAL; > @@ -758,6 +775,7 @@ int libxl_vcpu_sched_params_set(libxl_ctx *ctx, uint32_t > domid, > case LIBXL_SCHEDULER_CREDIT: > case LIBXL_SCHEDULER_CREDIT2: > case LIBXL_SCHEDULER_ARINC653: > + case LIBXL_SCHEDULER_NULL: > LOGD(ERROR, domid, "per-VCPU parameter setting not supported for > this scheduler"); > rc = ERROR_INVAL; > break; > @@ -792,6 +810,7 @@ int libxl_vcpu_sched_params_set_all(libxl_ctx *ctx, > uint32_t domid, > case LIBXL_SCHEDULER_CREDIT: > case LIBXL_SCHEDULER_CREDIT2: > case LIBXL_SCHEDULER_ARINC653: > + case LIBXL_SCHEDULER_NULL: > LOGD(ERROR, domid, "per-VCPU parameter setting not supported for > this scheduler"); > rc = ERROR_INVAL; > break; > @@ -832,6 +851,9 @@ int libxl_domain_sched_params_get(libxl_ctx *ctx, > uint32_t domid, > case LIBXL_SCHEDULER_RTDS: > ret=sched_rtds_domain_get(gc, domid, scinfo); > break; > + case LIBXL_SCHEDULER_NULL: > + ret=sched_null_domain_get(gc, domid, scinfo); > + break; > default: > LOGD(ERROR, domid, "Unknown scheduler"); > ret=ERROR_INVAL; > @@ -858,6 +880,7 @@ int libxl_vcpu_sched_params_get(libxl_ctx *ctx, uint32_t > domid, > case LIBXL_SCHEDULER_CREDIT: > case LIBXL_SCHEDULER_CREDIT2: > case LIBXL_SCHEDULER_ARINC653: > + case LIBXL_SCHEDULER_NULL: > LOGD(ERROR, domid, "per-VCPU parameter getting not supported for > this scheduler"); > rc = ERROR_INVAL; > break; > @@ -890,6 +913,7 @@ int libxl_vcpu_sched_params_get_all(libxl_ctx *ctx, > uint32_t domid, > case LIBXL_SCHEDULER_CREDIT: > case LIBXL_SCHEDULER_CREDIT2: > case LIBXL_SCHEDULER_ARINC653: > + case LIBXL_SCHEDULER_NULL: > LOGD(ERROR, domid, "per-VCPU parameter getting not supported for > this scheduler"); > rc = ERROR_INVAL; > break; > diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl > index 6d28dea..ce733c4 100644 > --- a/tools/libxl/libxl_types.idl > +++ b/tools/libxl/libxl_types.idl > @@ -191,6 +191,7 @@ libxl_scheduler = Enumeration("scheduler", [ > (6, "credit2"), > (7, "arinc653"), > (8, "rtds"), > + (9, "null"), > ]) > > # Consistent with SHUTDOWN_* in sched.h (apart from UNKNOWN) > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |