Revamp the KDB rq command.

This patch adds new rq fields to the display, and
also puts the various xxx_printf's under the correct
#ifdefs.

Signed-off-by: Joe Korty <[email protected]>

Index: 2.6.31.3-kdb/kernel/sched.c
===================================================================
--- 2.6.31.3-kdb.orig/kernel/sched.c    2009-10-12 11:05:03.000000000 -0400
+++ 2.6.31.3-kdb/kernel/sched.c 2009-10-12 11:05:08.000000000 -0400
@@ -10593,7 +10593,7 @@
        int pri, printed_header = 0;
        struct task_struct *p;
 
-       xxx_printf("  %s rt bitmap: 0x%lx 0x%lx 0x%lx\n",
+       xxx_printf(" %s rt bitmap: 0x%lx 0x%lx 0x%lx\n",
                name,
                array->bitmap[0], array->bitmap[1], array->bitmap[2]);
 
@@ -10651,6 +10651,7 @@
 void
 kdb_runqueue(unsigned long cpu, kdb_printf_t xxx_printf)
 {
+       int i;
        struct rq *rq;
 
        rq = cpu_rq(cpu);
@@ -10660,13 +10661,29 @@
                   rq->curr, rq->curr->pid, rq->curr->comm);
        if (rq->curr == rq->idle)
                xxx_printf(" is idle");
-       xxx_printf("\n ");
+       xxx_printf("\n");
+
+       xxx_printf(" nr_running:%ld ", rq->nr_running);
+       xxx_printf(" nr_uninterruptible:%ld ", rq->nr_uninterruptible);
+       xxx_printf(" nr_migrations_in:%lld\n", (long long)rq->nr_migrations_in);
+
+       xxx_printf(" nr_switches:%llu ", (long long)rq->nr_switches);
+       xxx_printf(" nr_iowait:%u ", atomic_read(&rq->nr_iowait));
+       xxx_printf(" next_balance:%lu\n", rq->next_balance);
+
 #ifdef CONFIG_SMP
-       xxx_printf(" cpu_load:%lu %lu %lu",
-                       rq->cpu_load[0], rq->cpu_load[1], rq->cpu_load[2]);
+       xxx_printf(" active_balance:%u ", rq->active_balance);
+       xxx_printf(" idle_at_tick:%u\n", rq->idle_at_tick);
+
+       xxx_printf(" push_cpu:%u ", rq->push_cpu);
+       xxx_printf(" cpu:%u ", rq->cpu);
+       xxx_printf(" online:%u\n", rq->online);
 #endif
-       xxx_printf(" nr_running:%lu nr_switches:%llu\n",
-                  rq->nr_running, (long long)rq->nr_switches);
+
+       xxx_printf(" cpu_load:");
+       for (i=0; i<CPU_LOAD_IDX_MAX; i++)
+               xxx_printf(" %lu", rq->cpu_load[i]);
+       xxx_printf("\n");
        kdb_prio("active", &rq->rt.active, xxx_printf, (unsigned int)cpu);
 }
 EXPORT_SYMBOL(kdb_runqueue);

_______________________________________________
kdb mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/kdb

Reply via email to