Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[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 <[email protected]> Cc: Philippe Elie <[email protected]> Cc: John Levon <[email protected]> Signed-off-by: "Paul E. McKenney" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information