summaryrefslogtreecommitdiffstats
path: root/kernel/exit.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@us.ibm.com>2006-01-08 01:01:35 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-08 20:13:40 -0800
commit4369ef3c3e9d3bd9b879580678778f558d481e90 (patch)
tree32b443b32c6de858c419f75dad07c46028359afe /kernel/exit.c
parenteafbaa94691f6a1fa67c3b076caa3ce4e2920100 (diff)
downloadop-kernel-dev-4369ef3c3e9d3bd9b879580678778f558d481e90.zip
op-kernel-dev-4369ef3c3e9d3bd9b879580678778f558d481e90.tar.gz
[PATCH] Make RCU task_struct safe for oprofile
Applying RCU to the task structure broke oprofile, because free_task_notify() can now be called from softirq. This means that the task_mortuary lock must be acquired with irq disabled in order to avoid intermittent self-deadlock. Since irq is now disabled, the critical section within process_task_mortuary() has been restructured to be O(1) in order to maximize scalability and minimize realtime latency degradation. Kudos to Wu Fengguang for finding this problem! CC: Wu Fengguang <wfg@mail.ustc.edu.cn> Cc: Philippe Elie <phil.el@wanadoo.fr> Cc: John Levon <levon@movementarian.org> Signed-off-by: "Paul E. McKenney" <paulmck@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/exit.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud