linux/drivers/oprofile
Paul E. McKenney 4369ef3c3e [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>
2006-01-08 20:13:40 -08:00
..
buffer_sync.c [PATCH] Make RCU task_struct safe for oprofile 2006-01-08 20:13:40 -08:00
buffer_sync.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu_buffer.c [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
cpu_buffer.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
event_buffer.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
event_buffer.h [PATCH] oprofile: report anonymous region samples 2005-06-24 00:06:27 -07:00
oprof.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
oprof.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
oprofile_files.c [PATCH] oprofile trivial user annotations 2005-04-26 07:43:42 -07:00
oprofile_stats.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
oprofile_stats.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
oprofilefs.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
timer_int.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00