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

2015-03-16 Thread George Dunlap
On 02/27/2015 04:51 PM, Dario Faggioli wrote:
 and update them from Credit2 and RTDS schedulers.
 
 Signed-off-by: Dario Faggioli dario.faggi...@citrix.com
 Cc: Meng Xu xumengpa...@gmail.com
 Cc: George Dunlap george.dun...@eu.citrix.com
 Cc: Jan Beulich jbeul...@suse.com
 Cc: Keir Fraser k...@xen.org
 Reviewed-by: Meng Xu men...@cis.upenn.edu
 Acked-by: Jan Beulich jbeul...@suse.com

Acked-by: George Dunlap george.dun...@eu.citrix.com

 ---
 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@lists.xen.org
http://lists.xen.org/xen-devel


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

2015-02-27 Thread Dario Faggioli
and update them from Credit2 and RTDS schedulers.

Signed-off-by: Dario Faggioli dario.faggi...@citrix.com
Cc: Meng Xu xumengpa...@gmail.com
Cc: George Dunlap george.dun...@eu.citrix.com
Cc: Jan Beulich jbeul...@suse.com
Cc: Keir Fraser k...@xen.org
Reviewed-by: Meng Xu men...@cis.upenn.edu
Acked-by: Jan Beulich jbeul...@suse.com
---
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@lists.xen.org
http://lists.xen.org/xen-devel