The following commit has been merged into the sched/core branch of tip: Commit-ID: c1fc6484e1fb7cc2481d169bfef129a1b0676abe Gitweb: https://git.kernel.org/tip/c1fc6484e1fb7cc2481d169bfef129a1b0676abe Author: Cyril Hrubis <chrubis@xxxxxxx> AuthorDate: Wed, 02 Aug 2023 17:19:06 +02:00 Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx> CommitterDate: Mon, 14 Aug 2023 17:01:23 +02:00 sched/rt: sysctl_sched_rr_timeslice show default timeslice after reset The sched_rr_timeslice can be reset to default by writing value that is <= 0. However after reading from this file we always got the last value written, which is not useful at all. $ echo -1 > /proc/sys/kernel/sched_rr_timeslice_ms $ cat /proc/sys/kernel/sched_rr_timeslice_ms -1 Fix this by setting the variable that holds the sysctl file value to the jiffies_to_msecs(RR_TIMESLICE) in case that <= 0 value was written. Signed-off-by: Cyril Hrubis <chrubis@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Petr Vorel <pvorel@xxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Tested-by: Petr Vorel <pvorel@xxxxxxx> Link: https://lore.kernel.org/r/20230802151906.25258-3-chrubis@xxxxxxx --- kernel/sched/rt.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index 185d3d7..0597ba0 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -3062,6 +3062,9 @@ static int sched_rr_handler(struct ctl_table *table, int write, void *buffer, sched_rr_timeslice = sysctl_sched_rr_timeslice <= 0 ? RR_TIMESLICE : msecs_to_jiffies(sysctl_sched_rr_timeslice); + + if (sysctl_sched_rr_timeslice <= 0) + sysctl_sched_rr_timeslice = jiffies_to_msecs(RR_TIMESLICE); } mutex_unlock(&mutex);