[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 5/5] tools: sched: add support for 'null' scheduler
On 07/04/17 13:28, 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: Wei Liu <wei.liu2@xxxxxxxxxx> Reviewed-by: George Dunlap <george.dunlap@xxxxxxxxxx> And queued. > --- > Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> > Cc: George Dunlap <george.dunlap@xxxxxxxxxx> > Cc: Julien Grall <julien.grall@xxxxxxx> > Cc: Stefano Stabellini <stefano@xxxxxxxxxxx> > --- > Changes from v2: > - _get() function now returns success (i.e., _get() and _set() function now > both returns the same). > --- > 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 a402236..cf8687a 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..faa604e 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) > +{ > + /* There aren't any domain-specific parameters to be set. */ > + return 0; > +} > + > +static int sched_null_domain_get(libxl__gc *gc, uint32_t domid, > + libxl_domain_sched_params *scinfo) > +{ > + /* There aren't any domain-specific parameters to return. */ > + return 0; > +} > + > 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 bac226c..2204425 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 |