static void rt_dump_pcpu(const struct scheduler *ops, int cpu) { struct rt_vcpu *svc = rt_vcpu(curr_on_cpu(cpu)); rt_dump_vcpu(ops, svc); }
/* * should not need lock here. only showing stuff */ static void rt_dump(const struct scheduler *ops) { struct list_head *iter_sdom, *iter_svc, *runq, *iter; struct rt_private *prv = RT_PRIV(ops); struct rt_vcpu *svc; int cpu = 0; int loop = 0; printtime(); printk("OCBP:_dumpV Priority Scheme: OCBP\n"); printk("PCPU info: \n"); for_each_cpu(cpu, &prv->cpus) rt_dump_pcpu(ops, cpu); printk("OCBP:_dumpV Global RunQueue info: \n"); loop = 0; runq = RUNQ(ops); list_for_each( iter, runq ) { svc = __runq_elem(iter); printk("\tOCBP:_dumpV RunQ no:%3d: ", ++loop); rt_dump_vcpu(svc); }
static void rt_dump_pcpu(const struct scheduler *ops, int cpu) { struct rt_vcpu *svc = RT_VCPU(curr_on_cpu(cpu)); printtime(); rt_dump_vcpu(svc); }
static void rt_dump_pcpu(const struct scheduler *ops, int cpu) { struct rt_private *prv = rt_priv(ops); unsigned long flags; spin_lock_irqsave(&prv->lock, flags); rt_dump_vcpu(ops, rt_vcpu(curr_on_cpu(cpu))); spin_unlock_irqrestore(&prv->lock, flags); }
static void rt_dump(const struct scheduler *ops) { struct list_head *iter_sdom, *iter_svc, *runq, *depletedq, *iter; struct rt_private *prv = rt_priv(ops); struct rt_vcpu *svc; struct rt_dom *sdom; unsigned long flags; spin_lock_irqsave(&prv->lock, flags); if ( list_empty(&prv->sdom) ) goto out; runq = rt_runq(ops); depletedq = rt_depletedq(ops); printk("Global RunQueue info:\n"); list_for_each( iter, runq ) { svc = __q_elem(iter); rt_dump_vcpu(ops, svc); }
static void rt_dump(const struct scheduler *ops) { struct list_head *iter_sdom, *iter_svc, *runq, *depletedq, *iter; struct rt_private *prv = rt_priv(ops); struct rt_vcpu *svc; cpumask_t *online; struct rt_dom *sdom; unsigned long flags; ASSERT(!list_empty(&prv->sdom)); sdom = list_entry(prv->sdom.next, struct rt_dom, sdom_elem); online = cpupool_scheduler_cpumask(sdom->dom->cpupool); runq = rt_runq(ops); depletedq = rt_depletedq(ops); spin_lock_irqsave(&prv->lock, flags); printk("Global RunQueue info:\n"); list_for_each( iter, runq ) { svc = __q_elem(iter); rt_dump_vcpu(ops, svc); }
list_for_each( iter, depletedq ) { svc = __q_elem(iter); rt_dump_vcpu(ops, svc); }