mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
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>
This commit is contained in:
parent
05725f7eb4
commit
41c51c98f5
1 changed files with 1 additions and 7 deletions
|
@ -1356,17 +1356,11 @@ static int rcu_sched_grace_period(void *arg)
|
||||||
|
|
||||||
rcu_ctrlblk.sched_sleep = rcu_sched_sleeping;
|
rcu_ctrlblk.sched_sleep = rcu_sched_sleeping;
|
||||||
spin_unlock_irqrestore(&rcu_ctrlblk.schedlock, flags);
|
spin_unlock_irqrestore(&rcu_ctrlblk.schedlock, flags);
|
||||||
ret = 0;
|
ret = 0; /* unused */
|
||||||
__wait_event_interruptible(rcu_ctrlblk.sched_wq,
|
__wait_event_interruptible(rcu_ctrlblk.sched_wq,
|
||||||
rcu_ctrlblk.sched_sleep != rcu_sched_sleeping,
|
rcu_ctrlblk.sched_sleep != rcu_sched_sleeping,
|
||||||
ret);
|
ret);
|
||||||
|
|
||||||
/*
|
|
||||||
* Signals would prevent us from sleeping, and we cannot
|
|
||||||
* do much with them in any case. So flush them.
|
|
||||||
*/
|
|
||||||
if (ret)
|
|
||||||
flush_signals(current);
|
|
||||||
couldsleepnext = 0;
|
couldsleepnext = 0;
|
||||||
|
|
||||||
} while (!kthread_should_stop());
|
} while (!kthread_should_stop());
|
||||||
|
|
Loading…
Reference in a new issue