* Clark Williams <[email protected]> wrote:

> 
> Add a /proc/sys/kernel scheduler knob named sched_rr_timeslice_ms
> that allows global changing of the SCHED_RR timeslice value. User
> visable value is in milliseconds but is stored as jiffies.  Setting
> to 0 (zero) resets to the default (currently 100ms).
> 
> Signed-off-by: Clark Williams <[email protected]>
> ---
>  include/linux/sched/sysctl.h |  5 +++++
>  kernel/sched/core.c          | 19 +++++++++++++++++++
>  kernel/sched/rt.c            |  6 ++++--
>  kernel/sysctl.c              |  8 ++++++++
>  4 files changed, 36 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h
> index 912adab..fda131f 100644
> --- a/include/linux/sched/sysctl.h
> +++ b/include/linux/sched/sysctl.h
> @@ -10,6 +10,11 @@
>   */
>  #define RR_TIMESLICE         (100 * HZ / 1000)
>  
> +extern int sched_rr_timeslice;
> +extern int sched_rr_handler(struct ctl_table *table, int write,
> +             void __user *buffer, size_t *lenp,
> +             loff_t *ppos);
> +
>  /*
>   *  control realtime throttling:
>   *
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 26058d0..1c39c33 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -7508,6 +7508,25 @@ static int sched_rt_global_constraints(void)
>  }
>  #endif /* CONFIG_RT_GROUP_SCHED */
>  
> +int sched_rr_handler(struct ctl_table *table, int write,
> +             void __user *buffer, size_t *lenp,
> +             loff_t *ppos)
> +{
> +     int ret;
> +     static DEFINE_MUTEX(mutex);
> +
> +     mutex_lock(&mutex);
> +     ret = proc_dointvec(table, write, buffer, lenp, ppos);
> +     /* make sure that internally we keep jiffies */
> +     /* also, writing zero resets timeslice to default */
> +     if (!ret && write) {
> +             sched_rr_timeslice = sched_rr_timeslice <= 0 ?
> +                     RR_TIMESLICE :
> msecs_to_jiffies(sched_rr_timeslice);

hm, this patch is whitespace damaged. (line wrapped)

The first patch looks good, I've applied it.

Thanks,

        Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to