diff options
| author | Oleg Nesterov <oleg@redhat.com> | 2009-05-03 17:11:18 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-05-05 14:28:05 -0400 |
| commit | 41c51c98f588edcdf6141cff1895df738e03ddd4 (patch) | |
| tree | b33243575558927974e0f90735fac5224dd135cf | |
| parent | 05725f7eb4b8acb147c5fc7b91397b1f6bcab00d (diff) | |
rcu: rcu_sched_grace_period(): kill the bogus flush_signals()
As a kernel thread, rcu_sched_grace_period() runs with all signals ignored.
It can never receive a signal even if it sleeps in TASK_INTERRUPTIBLE, it
needs the explicit allow_signal() to be visible for signals.
[ Impact: reduce kernel size, remove dead code ]
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
LKML-Reference: <20090503211118.GA22973@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
| -rw-r--r-- | kernel/rcupreempt.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/kernel/rcupreempt.c b/kernel/rcupreempt.c index ce97a4df64d3..beb0e659adcc 100644 --- a/kernel/rcupreempt.c +++ b/kernel/rcupreempt.c | |||
| @@ -1356,17 +1356,11 @@ static int rcu_sched_grace_period(void *arg) | |||
| 1356 | 1356 | ||
| 1357 | rcu_ctrlblk.sched_sleep = rcu_sched_sleeping; | 1357 | rcu_ctrlblk.sched_sleep = rcu_sched_sleeping; |
| 1358 | spin_unlock_irqrestore(&rcu_ctrlblk.schedlock, flags); | 1358 | spin_unlock_irqrestore(&rcu_ctrlblk.schedlock, flags); |
| 1359 | ret = 0; | 1359 | ret = 0; /* unused */ |
| 1360 | __wait_event_interruptible(rcu_ctrlblk.sched_wq, | 1360 | __wait_event_interruptible(rcu_ctrlblk.sched_wq, |
| 1361 | rcu_ctrlblk.sched_sleep != rcu_sched_sleeping, | 1361 | rcu_ctrlblk.sched_sleep != rcu_sched_sleeping, |
| 1362 | ret); | 1362 | ret); |
| 1363 | 1363 | ||
| 1364 | /* | ||
| 1365 | * Signals would prevent us from sleeping, and we cannot | ||
| 1366 | * do much with them in any case. So flush them. | ||
| 1367 | */ | ||
| 1368 | if (ret) | ||
| 1369 | flush_signals(current); | ||
| 1370 | couldsleepnext = 0; | 1364 | couldsleepnext = 0; |
| 1371 | 1365 | ||
| 1372 | } while (!kthread_should_stop()); | 1366 | } while (!kthread_should_stop()); |
