From: Ingo Molnar Date: Sat, 30 Dec 2006 00:47:14 +0000 (-0800) Subject: [PATCH] rcu: rcutorture suspend fix X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=e4e6bdbb426d1ecd9e4587f22115f8d0d426d21f;p=deliverable%2Flinux.git [PATCH] rcu: rcutorture suspend fix Fix suspend hang: rcutorture threads need to be nofreeze. Signed-off-by: Ingo Molnar Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- 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();