diff options
author | Paul E. McKenney | 2012-04-16 12:12:09 -0700 |
---|---|---|
committer | Paul E. McKenney | 2012-04-17 07:30:54 -0700 |
commit | 92c38702e98e58438c3760ebb279c40bbca8bd5f (patch) | |
tree | 775d0078f46b6d9f2fc4d4be83b80e8376a707ba /drivers/tty/vt/vt.c | |
parent | 0034102808e0dbbf3a2394b82b1bb40b5778de9e (diff) |
rcu: Permit call_rcu() from CPU_DYING notifiers
As of:
29494be71afe ("rcu,cleanup: simplify the code when cpu is dying")
RCU adopts callbacks from the dying CPU in its CPU_DYING notifier,
which means that any callbacks posted by later CPU_DYING notifiers
are ignored until the CPU comes back online.
A WARN_ON_ONCE() was added to __call_rcu() by:
e56014000816 ("rcu: Simplify offline processing")
to check for this condition. Although this condition did not trigger
(at least as far as I know) during -next testing, it did recently
trigger in mainline:
https://lkml.org/lkml/2012/4/2/34
What is needed longer term is for RCU's CPU_DEAD notifier to adopt any
callbacks that were posted by CPU_DYING notifiers, however, the Linux
kernel has been running with this sort of thing happening for quite
some time. So the only thing that qualifies as a regression is the
WARN_ON_ONCE(), which this commit removes.
Making RCU's CPU_DEAD notifier adopt callbacks posted by CPU_DYING
notifiers is a topic for the 3.5 release of the Linux kernel.
Reported-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'drivers/tty/vt/vt.c')
0 files changed, 0 insertions, 0 deletions