[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 3/4] xen: sched: make counters for vCPU tickling generic
and update them from Credit2 and RTDS schedulers. Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx> Cc: Meng Xu <xumengpanda@xxxxxxxxx> Cc: George Dunlap <george.dunlap@xxxxxxxxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Cc: Keir Fraser <keir@xxxxxxx> Reviewed-by: Meng Xu <mengxu@xxxxxxxxxxxxx> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> --- Changes from v1: * fixed the 'no_tickle' case, in Credit2, as requested during review --- xen/common/sched_credit2.c | 4 ++++ xen/common/sched_rt.c | 2 ++ xen/include/xen/perfc_defn.h | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/xen/common/sched_credit2.c b/xen/common/sched_credit2.c index 2b852cc..c0f7452 100644 --- a/xen/common/sched_credit2.c +++ b/xen/common/sched_credit2.c @@ -556,7 +556,10 @@ runq_tickle(const struct scheduler *ops, unsigned int cpu, struct csched2_vcpu * /* Only switch to another processor if the credit difference is greater * than the migrate resistance */ if ( ipid == -1 || lowest + CSCHED2_MIGRATE_RESIST > new->credit ) + { + SCHED_STAT_CRANK(tickle_idlers_none); goto no_tickle; + } tickle: BUG_ON(ipid == -1); @@ -571,6 +574,7 @@ tickle: (unsigned char *)&d); } cpumask_set_cpu(ipid, &rqd->tickled); + SCHED_STAT_CRANK(tickle_idlers_some); cpu_raise_softirq(ipid, SCHEDULE_SOFTIRQ); no_tickle: diff --git a/xen/common/sched_rt.c b/xen/common/sched_rt.c index 49d1b83..2ad0c68 100644 --- a/xen/common/sched_rt.c +++ b/xen/common/sched_rt.c @@ -929,6 +929,7 @@ runq_tickle(const struct scheduler *ops, struct rt_vcpu *new) } /* didn't tickle any cpu */ + SCHED_STAT_CRANK(tickle_idlers_none); return; out: /* TRACE */ @@ -944,6 +945,7 @@ out: } cpumask_set_cpu(cpu_to_tickle, &prv->tickled); + SCHED_STAT_CRANK(tickle_idlers_some); cpu_raise_softirq(cpu_to_tickle, SCHEDULE_SOFTIRQ); return; } diff --git a/xen/include/xen/perfc_defn.h b/xen/include/xen/perfc_defn.h index 2dc78fe..f754331 100644 --- a/xen/include/xen/perfc_defn.h +++ b/xen/include/xen/perfc_defn.h @@ -26,6 +26,8 @@ PERFCOUNTER(vcpu_wake_running, "sched: vcpu_wake_running") PERFCOUNTER(vcpu_wake_onrunq, "sched: vcpu_wake_onrunq") PERFCOUNTER(vcpu_wake_runnable, "sched: vcpu_wake_runnable") PERFCOUNTER(vcpu_wake_not_runnable, "sched: vcpu_wake_not_runnable") +PERFCOUNTER(tickle_idlers_none, "sched: tickle_idlers_none") +PERFCOUNTER(tickle_idlers_some, "sched: tickle_idlers_some") /* credit specific counters */ PERFCOUNTER(delay_ms, "csched: delay") @@ -39,8 +41,6 @@ PERFCOUNTER(acct_vcpu_active, "csched: acct_vcpu_active") PERFCOUNTER(acct_vcpu_idle, "csched: acct_vcpu_idle") PERFCOUNTER(vcpu_park, "csched: vcpu_park") PERFCOUNTER(vcpu_unpark, "csched: vcpu_unpark") -PERFCOUNTER(tickle_idlers_none, "csched: tickle_idlers_none") -PERFCOUNTER(tickle_idlers_some, "csched: tickle_idlers_some") PERFCOUNTER(load_balance_idle, "csched: load_balance_idle") PERFCOUNTER(load_balance_over, "csched: load_balance_over") PERFCOUNTER(load_balance_other, "csched: load_balance_other") _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |