|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 2/5] build: Hook the schedulers into Kconfig
>>> On 08.01.16 at 22:22, <jonathan.creekmore@xxxxxxxxx> wrote:
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -51,4 +51,71 @@ config KEXEC
>
> If unsure, say Y.
>
> +# Enable schedulers
> +menu "Schedulers"
> + visible if EXPERT = "y"
Does "visible if EXPERT" not suffice here?
> +config SCHED_CREDIT
> + bool "Credit scheduler support"
> + default y
I continue to think that not making the primary scheduler configurable
would be the better solution to the problems resulting from possibly
all of them getting turned off.
> +config SCHED_CREDIT2
> + bool "Credit2 scheduler support (EXPERIMENTAL)"
> + default y
> + ---help---
> + The credit2 scheduler is a general purpose scheduler that is
> + optimized for lower latency and higher VM density.
> +
> + If unsure, say Y.
> +
> +config SCHED_RTDS
> + bool "RTDS scheduler support (EXPERIMENTAL)"
> + default y
> + ---help---
> + The RTDS scheduler is a soft and firm real-time scheduler for
> + multicore, targeted for embedded, automotive, graphics and gaming
> + in the cloud, and general low-latency workloads.
> +
> + If unsure, say N.
> +
> +config SCHED_ARINC653
> + bool "ARINC653 scheduler support (EXPERIMENTAL)"
> + default y
> + ---help---
> + The ARINC653 scheduler is a hard real-time scheduler for single
> + cores, targeted for avionics, drones, and medical devices.
> +
> + If unsure, say N.
> +
> +choice
> + prompt "Default Scheduler?"
> + default SCHED_CREDIT_DEFAULT if SCHED_CREDIT
> + default SCHED_CREDIT2_DEFAULT if SCHED_CREDIT2
> + default SCHED_RTDS_DEFAULT if SCHED_RTDS
> + default SCHED_ARINC653_DEFAULT if SCHED_ARINC653
> +
> + config SCHED_CREDIT_DEFAULT
> + bool "Credit Scheduler" if SCHED_CREDIT
> + config SCHED_CREDIT2_DEFAULT
> + bool "Credit2 Scheduler" if SCHED_CREDIT2
> + config SCHED_RTDS_DEFAULT
> + bool "RT Scheduler" if SCHED_RTDS
> + config SCHED_ARINC653_DEFAULT
> + bool "ARINC653 Scheduler" if SCHED_ARINC653
> +endchoice
> +
> +config SCHED_DEFAULT
> + string
> + default "credit" if SCHED_CREDIT_DEFAULT
> + default "credit2" if SCHED_CREDIT2_DEFAULT
> + default "rtds" if SCHED_RTDS_DEFAULT
> + default "arinc653" if SCHED_ARINC653_DEFAULT
> + default "credit"
What use is this last line?
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -850,8 +850,13 @@ static inline bool_t is_vcpu_online(const struct vcpu *v)
> return !test_bit(_VPF_down, &v->pause_flags);
> }
>
> +#ifdef CONFIG_SCHED_CREDIT
> void set_vcpu_migration_delay(unsigned int delay);
> unsigned int get_vcpu_migration_delay(void);
> +#else
> +static inline void set_vcpu_migration_delay(unsigned int delay) { }
> +static inline unsigned int get_vcpu_migration_delay(void) { return 0; }
> +#endif
I don't think these are appropriate: The respective sysctl sub-ops
would probably better indicate failure to the caller.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |