Because SCHED_FIFO is a broken scheduler model (see previous patches)
take away the priority field, the kernel can't possibly make an
informed decision.
Effectively no change.
Cc: [email protected]
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Reviewed-by: Ingo Molnar <[email protected]>
---
kernel/rcu/rcutorture.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -802,13 +802,11 @@ static int rcu_torture_boost(void *arg)
unsigned long endtime;
unsigned long oldstarttime;
struct rcu_boost_inflight rbi = { .inflight = 0 };
- struct sched_param sp;
VERBOSE_TOROUT_STRING("rcu_torture_boost started");
/* Set real-time priority. */
- sp.sched_priority = 1;
- if (sched_setscheduler(current, SCHED_FIFO, &sp) < 0) {
+ if (sched_set_fifo_low(current) < 0) {
VERBOSE_TOROUT_STRING("rcu_torture_boost RT prio failed!");
n_rcu_torture_boost_rterror++;
}
On Wed, Apr 22, 2020 at 01:27:39PM +0200, Peter Zijlstra wrote:
> Because SCHED_FIFO is a broken scheduler model (see previous patches)
> take away the priority field, the kernel can't possibly make an
> informed decision.
>
> Effectively no change.
>
> Cc: [email protected]
> Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
> Reviewed-by: Ingo Molnar <[email protected]>
Reviewed-by: Paul E. McKenney <[email protected]>
> ---
> kernel/rcu/rcutorture.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> --- a/kernel/rcu/rcutorture.c
> +++ b/kernel/rcu/rcutorture.c
> @@ -802,13 +802,11 @@ static int rcu_torture_boost(void *arg)
> unsigned long endtime;
> unsigned long oldstarttime;
> struct rcu_boost_inflight rbi = { .inflight = 0 };
> - struct sched_param sp;
>
> VERBOSE_TOROUT_STRING("rcu_torture_boost started");
>
> /* Set real-time priority. */
> - sp.sched_priority = 1;
> - if (sched_setscheduler(current, SCHED_FIFO, &sp) < 0) {
> + if (sched_set_fifo_low(current) < 0) {
> VERBOSE_TOROUT_STRING("rcu_torture_boost RT prio failed!");
> n_rcu_torture_boost_rterror++;
> }
>
>