summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2016-01-13 00:17:21 +0100
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2016-03-31 22:37:39 +0200
commit2094c99558d9e9374210898f65f5862f7a2e8bed (patch)
tree4c8495b39361cfb2868350f9024794b397be08b9
parentrcutorture: Bind rcuperf reader/writer kthreads to CPUs (diff)
downloadlinux-2094c99558d9e9374210898f65f5862f7a2e8bed.tar.xz
linux-2094c99558d9e9374210898f65f5862f7a2e8bed.zip
rcutorture: Set rcuperf writer kthreads to real-time priority
This commit forces more deterministic update-side behavior by setting rcuperf's rcu_perf_writer() kthreads to real-time priority. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
-rw-r--r--kernel/rcu/rcuperf.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/rcu/rcuperf.c b/kernel/rcu/rcuperf.c
index 7a1edf417d18..e18d016a9888 100644
--- a/kernel/rcu/rcuperf.c
+++ b/kernel/rcu/rcuperf.c
@@ -355,6 +355,7 @@ rcu_perf_writer(void *arg)
int i = 0;
int i_max;
long me = (long)arg;
+ struct sched_param sp;
bool started = false, done = false, alldone = false;
u64 t;
u64 *wdp;
@@ -365,6 +366,8 @@ rcu_perf_writer(void *arg)
WARN_ON(rcu_gp_is_normal() && gp_exp);
WARN_ON(!wdpp);
set_cpus_allowed_ptr(current, cpumask_of(me % nr_cpu_ids));
+ sp.sched_priority = 1;
+ sched_setscheduler_nocheck(current, SCHED_FIFO, &sp);
t = ktime_get_mono_fast_ns();
if (atomic_inc_return(&n_rcu_perf_writer_started) >= nrealwriters) {
t_rcu_perf_writer_started = t;