sched: Don't use tasklist_lock for debug prints
authorThomas Gleixner <tglx@linutronix.de>
Sun, 17 Jul 2011 18:47:54 +0000 (20:47 +0200)
committerIngo Molnar <mingo@elte.hu>
Thu, 6 Oct 2011 10:47:08 +0000 (12:47 +0200)
Avoid taking locks from debug prints, this avoids latencies on -rt,
and improves reliability of the debug code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched.c

index ce9a9e7..24637c7 100644 (file)
@@ -6021,7 +6021,7 @@ void show_state_filter(unsigned long state_filter)
        printk(KERN_INFO
                "  task                        PC stack   pid father\n");
 #endif
-       read_lock(&tasklist_lock);
+       rcu_read_lock();
        do_each_thread(g, p) {
                /*
                 * reset the NMI-timeout, listing all files on a slow
@@ -6037,7 +6037,7 @@ void show_state_filter(unsigned long state_filter)
 #ifdef CONFIG_SCHED_DEBUG
        sysrq_sched_debug_show();
 #endif
-       read_unlock(&tasklist_lock);
+       rcu_read_unlock();
        /*
         * Only show locks if all tasks are dumped:
         */