From: Peter Zijlstra Date: Fri, 25 Jan 2008 20:08:34 +0000 (+0100) Subject: sched: fix: don't take a mutex from interrupt context X-Git-Tag: v2.6.25-rc1~1237^2~2 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5973e5b954848c63855a357ad4ff39882e3904f7;p=linux-2.6 sched: fix: don't take a mutex from interrupt context print_cfs_stats is callable from interrupt context (sysrq), hence it should not take mutexes. Change it to use RCU since the task group data is RCU freed anyway. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar --- diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 1b3b40ad7c..45ff4e9411 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -1434,9 +1434,9 @@ static void print_cfs_stats(struct seq_file *m, int cpu) #ifdef CONFIG_FAIR_GROUP_SCHED print_cfs_rq(m, cpu, &cpu_rq(cpu)->cfs); #endif - lock_task_group_list(); + rcu_read_lock(); for_each_leaf_cfs_rq(cpu_rq(cpu), cfs_rq) print_cfs_rq(m, cpu, cfs_rq); - unlock_task_group_list(); + rcu_read_unlock(); } #endif