#include <xen/percpu.h>
#include <xen/sched.h>
#include <xen/sched-if.h>
+#include <xen/keyhandler.h>
#include <xen/cpu.h>
#define for_each_cpupool(ptr) \
return ret;
}
+static void print_cpumap(const char *str, const cpumask_t *map)
+{
+ cpulist_scnprintf(keyhandler_scratch, sizeof(keyhandler_scratch), map);
+ printk("%s: %s\n", str, keyhandler_scratch);
+}
+
void dump_runq(unsigned char key)
{
unsigned long flags;
sched_smt_power_savings? "enabled":"disabled");
printk("NOW=0x%08X%08X\n", (u32)(now>>32), (u32)now);
+ print_cpumap("Online Cpus", &cpu_online_map);
+ if ( !cpumask_empty(&cpupool_free_cpus) )
+ print_cpumap("Free Cpus", &cpupool_free_cpus);
+
printk("Idle cpupool:\n");
schedule_dump(NULL);
for_each_cpupool(c)
{
printk("Cpupool %d:\n", (*c)->cpupool_id);
+ print_cpumap("Cpus", (*c)->cpu_valid);
schedule_dump(*c);
}