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 <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
5fb5e6de55
commit
5973e5b954
@ -1434,9 +1434,9 @@ static void print_cfs_stats(struct seq_file *m, int cpu)
|
|||||||
#ifdef CONFIG_FAIR_GROUP_SCHED
|
#ifdef CONFIG_FAIR_GROUP_SCHED
|
||||||
print_cfs_rq(m, cpu, &cpu_rq(cpu)->cfs);
|
print_cfs_rq(m, cpu, &cpu_rq(cpu)->cfs);
|
||||||
#endif
|
#endif
|
||||||
lock_task_group_list();
|
rcu_read_lock();
|
||||||
for_each_leaf_cfs_rq(cpu_rq(cpu), cfs_rq)
|
for_each_leaf_cfs_rq(cpu_rq(cpu), cfs_rq)
|
||||||
print_cfs_rq(m, cpu, cfs_rq);
|
print_cfs_rq(m, cpu, cfs_rq);
|
||||||
unlock_task_group_list();
|
rcu_read_unlock();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user