kernel-hacking-2024-linux-s.../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
cpu_buffer.c [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
cpu_buffer.h
event_buffer.c
event_buffer.h
oprof.c
oprof.h
oprofile_files.c
oprofile_stats.c
oprofile_stats.h
oprofilefs.c
timer_int.c