diff options
author | Paul E. McKenney <paulmck@us.ibm.com> | 2006-01-08 10:01:35 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-09 05:13:40 +0100 |
commit | 4369ef3c3e9d3bd9b879580678778f558d481e90 (patch) | |
tree | 32b443b32c6de858c419f75dad07c46028359afe /include | |
parent | [PATCH] uml: prevent MODE_SKAS=n and MODE_TT=n (diff) | |
download | linux-4369ef3c3e9d3bd9b879580678778f558d481e90.tar.xz linux-4369ef3c3e9d3bd9b879580678778f558d481e90.zip |
[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 'include')
0 files changed, 0 insertions, 0 deletions