[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 3/4] xen: sched: make counters for vCPU tickling generic



On 02/27/2015 04:51 PM, Dario Faggioli wrote:
> 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>

Acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>

> ---
> 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.