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
