Re: [PATCH] sched/core: fix sched_rt_global_validate

From: Henrik Austad
Date: Mon Feb 03 2014 - 04:55:20 EST


On Fri, Jan 31, 2014 at 05:43:27PM +0100, Juri Lelli wrote:
> Don't compare sysctl_sched_rt_runtime against sysctl_sched_rt_period if
> the former is equal to RUNTIME_INF, otherwise disabling -rt bandwidth
> management always fails.
>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Signed-off-by: Juri Lelli <juri.lelli@xxxxxxxxx>
> ---
> kernel/sched/core.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 210a12a..5c0a304 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -7477,7 +7477,8 @@ static int sched_rt_global_validate(void)
> if (sysctl_sched_rt_period <= 0)
> return -EINVAL;
>
> - if (sysctl_sched_rt_runtime > sysctl_sched_rt_period)
> + if ((sysctl_sched_rt_runtime != RUNTIME_INF) &&
> + (sysctl_sched_rt_runtime > sysctl_sched_rt_period))
> return -EINVAL;

Won't this be caught by the test above?

#define RUNTIME_INF ((u64)~0ULL)

which means that if sysctl_sched_rt_runtime is set to RUNTIME_INF, it will
trigger on the previous test, and the first part of this test will always
be true.

Or have I suffered catastrophic monday-morning braindamage?

--
Henrik Austad
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/