Messages in this thread Patch in this message | | | From | Z qiang <> | Date | Tue, 22 Aug 2023 15:36:57 +0800 | Subject | rcutorture: Can not Disable RT throttling |
| |
When running build-in rcutorture tests in 6.5.0-rc4-rt, and found that, although the value of /proc/sys/kernel/sched_rt_runtime_us is -1,
cat /sys/kernel/debug/sched/debug .... rt_rq[6]: .rt_nr_running : 4 .rt_nr_migratory : 0 .rt_throttled : 0 .rt_time : 0.000000 .rt_runtime : 950.000000
but the rt_runtime still is 950.000000. set sysctl_sched_rt_runtime in rcu_torture_disable_rt_throttle() does not disable rt-throttling.
Currently I'm testing this way to disable rt-throttling:
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index 338cd150973f..bb9fee51a476 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -22,7 +22,7 @@ unsigned int sysctl_sched_rt_period = 1000000; * part of the period that we allow rt tasks to run in us. * default: 0.95s */ -int sysctl_sched_rt_runtime = 950000; +int sysctl_sched_rt_runtime = IS_BUILTIN(CONFIG_RCU_TORTURE_TEST) ? -1 : 950000;
#ifdef CONFIG_SYSCTL static int sysctl_sched_rr_timeslice = (MSEC_PER_SEC / HZ) * RR_TIMESLICE;
Is there a better way to solve it?
Thanks Zqiang
| |