diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-12-29 19:47:14 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-30 13:55:55 -0500 |
commit | e4e6bdbb426d1ecd9e4587f22115f8d0d426d21f (patch) | |
tree | f688386a4c6981d0cc347f4c166f74d878157acf | |
parent | 52e88f5d4a6b06f3a945728dd3bc403632afe069 (diff) |
[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.c | 3 |
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) | |||
522 | 522 | ||
523 | VERBOSE_PRINTK_STRING("rcu_torture_writer task started"); | 523 | VERBOSE_PRINTK_STRING("rcu_torture_writer task started"); |
524 | set_user_nice(current, 19); | 524 | set_user_nice(current, 19); |
525 | current->flags |= PF_NOFREEZE; | ||
525 | 526 | ||
526 | do { | 527 | do { |
527 | schedule_timeout_uninterruptible(1); | 528 | schedule_timeout_uninterruptible(1); |
@@ -561,6 +562,7 @@ rcu_torture_fakewriter(void *arg) | |||
561 | 562 | ||
562 | VERBOSE_PRINTK_STRING("rcu_torture_fakewriter task started"); | 563 | VERBOSE_PRINTK_STRING("rcu_torture_fakewriter task started"); |
563 | set_user_nice(current, 19); | 564 | set_user_nice(current, 19); |
565 | current->flags |= PF_NOFREEZE; | ||
564 | 566 | ||
565 | do { | 567 | do { |
566 | schedule_timeout_uninterruptible(1 + rcu_random(&rand)%10); | 568 | schedule_timeout_uninterruptible(1 + rcu_random(&rand)%10); |
@@ -591,6 +593,7 @@ rcu_torture_reader(void *arg) | |||
591 | 593 | ||
592 | VERBOSE_PRINTK_STRING("rcu_torture_reader task started"); | 594 | VERBOSE_PRINTK_STRING("rcu_torture_reader task started"); |
593 | set_user_nice(current, 19); | 595 | set_user_nice(current, 19); |
596 | current->flags |= PF_NOFREEZE; | ||
594 | 597 | ||
595 | do { | 598 | do { |
596 | idx = cur_ops->readlock(); | 599 | idx = cur_ops->readlock(); |