summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2006-12-30 01:47:14 +0100
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-30 19:55:55 +0100
commite4e6bdbb426d1ecd9e4587f22115f8d0d426d21f (patch)
treef688386a4c6981d0cc347f4c166f74d878157acf
parent[PATCH] change WARN_ON back to "BUG: at ..." (diff)
downloadlinux-e4e6bdbb426d1ecd9e4587f22115f8d0d426d21f.tar.xz
linux-e4e6bdbb426d1ecd9e4587f22115f8d0d426d21f.zip
[PATCH] rcu: rcutorture suspend fix
Fix suspend hang: rcutorture threads need to be nofreeze. Signed-off-by: Ingo Molnar <mingo@elte.hu> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--kernel/rcutorture.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
index c52f981ea008..482b11ff65cb 100644
--- a/kernel/rcutorture.c
+++ b/kernel/rcutorture.c
@@ -522,6 +522,7 @@ rcu_torture_writer(void *arg)
VERBOSE_PRINTK_STRING("rcu_torture_writer task started");
set_user_nice(current, 19);
+ current->flags |= PF_NOFREEZE;
do {
schedule_timeout_uninterruptible(1);
@@ -561,6 +562,7 @@ rcu_torture_fakewriter(void *arg)
VERBOSE_PRINTK_STRING("rcu_torture_fakewriter task started");
set_user_nice(current, 19);
+ current->flags |= PF_NOFREEZE;
do {
schedule_timeout_uninterruptible(1 + rcu_random(&rand)%10);
@@ -591,6 +593,7 @@ rcu_torture_reader(void *arg)
VERBOSE_PRINTK_STRING("rcu_torture_reader task started");
set_user_nice(current, 19);
+ current->flags |= PF_NOFREEZE;
do {
idx = cur_ops->readlock();