xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Dario Faggioli <dario.faggioli@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Olaf Hering <olaf@aepfle.de>, Wei Liu <wei.liu2@citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Tianyang Chen <tiche@seas.upenn.edu>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	Meng Xu <xumengpanda@gmail.com>
Subject: [PATCH 00/14] Scheduling related tracing improvements
Date: Fri, 05 Feb 2016 19:33:25 +0100	[thread overview]
Message-ID: <20160205183137.4543.56523.stgit@Solace.station> (raw)

Hi everyone,

This, hopefully, simple series aims at making it easier to look at and
interpret hypervisor scheduling related traces.

In fact, it includes improvements for both how xentrace_format and xenalyze
decode and pretty print a trace collected with scheduling events enabled,
either generic scheduling events or specific events from one of our scheduler.

In fact:
 - patches 11-14 improve xenalyze own understanding and dumping of scheduling
   events
 - patches 07-10 improve the 'formats' file that should be used for
   xentrace_format, for the same purpose
 - patches 04-06 are small hypervisor changes required for making the
   improvement possible
 - patches 02-03 are refinements on the position of some trace points
 - patch 01 is not really related to this series, it's just Credit1's
   code cleanup

After this series, for instance, 'xenalyze --dump-all' looks like this:

   0.000575665 -..--..x ..... . d?v? runstate_change d0v10 runnable->running
   0.000621704 -..--..x ..... . d0v10 vcpu_block d0v10
   0.000623592 -..--..x ..... . d0v10 sched_switch prev d0, run for 48.488us
   0.000623792 -..--..x ..... . d0v10 sched_switch next d32767, was runnable for 48.488us, 
   0.000624017 -..--..x ..... . d0v10 sched_switch prev d0v10 next d32767v7
   0.000624309 -..--..x ..... . d0v10 runstate_change d0v10 running->blocked
   0.000624650 -..--..x ..... . d?v? runstate_change d32767v7 runnable->running
   0.000806574 x..--..- ..... . d32767v0 vcpu_wake d0v0
   0.000806954 x..--..- ..... . d32767v0 runstate_change d0v0 blocked->runnable
   0.000807697 x..--..- ..... . d32767v0 csched:runq_tickle, cpu 0
   0.000810162 x..--..- ..... . d32767v0 sched_switch prev d32767, run for 279.105us
   0.000810340 x..--..- ..... . d32767v0 sched_switch next d0, was runnable for 2.516us, next slice 30000.0us
   0.000810625 x..--..- ..... . d32767v0 sched_switch prev d32767v0 next d0v0
   0.000810850 x..--..- ..... . d32767v0 runstate_change d32767v0 running->runnable
   0.000811205 x..--..- ..... . d?v? runstate_change d0v0 runnable->running
   0.000833005 |..--..- ..x.. . d32768v11 vcpu_wake d0v8
   0.000833596 |..--..- ..x.. . d32768v11 runstate_change d0v8 blocked->runnable

Thanks and Regards,
Dario
---
Dario Faggioli (14):
      xen: sched: __runq_tickle takes a useless cpu parameter
      xen: sched: move up the trace record for vcpu_wake and vcpu_sleep
      xen: sched: fi position of TRC_SCHED_DOM_{ADD,REM}
      xen: credit2: pack trace data better for xentrace_format
      xen: RTDS: pack trace data better for xentrace_format
      xen: sched: tracing: enable TSC tracing for all events
      xentrace: formats: update format of scheduling events
      xentrace: formats: add events from Credit scheduler
      xentrace: formats: add events from Credit2 scheduler
      xentrace: formats: add events from RTDS scheduler
      xenalyze: handle scheduling events
      xenalyze: handle Credit1 scheduler events
      xenalyze: handle Credit2 scheduler events
      xenalyze: handle RTDS scheduler events


 tools/xentrace/formats     |   44 ++++-
 tools/xentrace/xenalyze.c  |  373 ++++++++++++++++++++++++++++++++++++++++----
 xen/common/domain.c        |    1 
 xen/common/sched_credit.c  |   12 +
 xen/common/sched_credit2.c |   22 +--
 xen/common/sched_rt.c      |   29 +--
 xen/common/schedule.c      |   20 +-
 7 files changed, 411 insertions(+), 90 deletions(-)
--
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

             reply	other threads:[~2016-02-05 18:33 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-05 18:33 Dario Faggioli [this message]
2016-02-05 18:33 ` [PATCH 01/14] xen: sched: __runq_tickle takes a useless cpu parameter Dario Faggioli
2016-02-15 16:14   ` Konrad Rzeszutek Wilk
2016-02-15 16:29     ` Dario Faggioli
2016-02-05 18:33 ` [PATCH 02/14] xen: sched: move up the trace record for vcpu_wake and vcpu_sleep Dario Faggioli
2016-02-15 16:18   ` Konrad Rzeszutek Wilk
2016-02-05 18:33 ` [PATCH 03/14] xen: sched: fi position of TRC_SCHED_DOM_{ADD, REM} Dario Faggioli
2016-02-15 16:22   ` Konrad Rzeszutek Wilk
2016-02-15 16:37     ` Dario Faggioli
2016-02-15 16:41       ` Konrad Rzeszutek Wilk
2016-02-05 18:33 ` [PATCH 04/14] xen: credit2: pack trace data better for xentrace_format Dario Faggioli
2016-02-15 16:29   ` Konrad Rzeszutek Wilk
2016-02-05 18:34 ` [PATCH 05/14] xen: RTDS: " Dario Faggioli
2016-02-15 16:31   ` Konrad Rzeszutek Wilk
2016-02-05 18:34 ` [PATCH 06/14] xen: sched: tracing: enable TSC tracing for all events Dario Faggioli
2016-02-15 16:32   ` Konrad Rzeszutek Wilk
2016-02-15 17:00     ` Dario Faggioli
2016-02-05 18:34 ` [PATCH 07/14] xentrace: formats: update format of scheduling events Dario Faggioli
2016-02-15 16:38   ` Konrad Rzeszutek Wilk
2016-02-15 16:42     ` Dario Faggioli
2016-02-05 18:34 ` [PATCH 08/14] xentrace: formats: add events from Credit scheduler Dario Faggioli
2016-02-15 16:40   ` Konrad Rzeszutek Wilk
2016-02-05 18:34 ` [PATCH 09/14] xentrace: formats: add events from Credit2 scheduler Dario Faggioli
2016-02-15 16:44   ` Konrad Rzeszutek Wilk
2016-02-05 18:35 ` [PATCH 10/14] xentrace: formats: add events from RTDS scheduler Dario Faggioli
2016-02-05 18:35 ` [PATCH 11/14] xenalyze: handle scheduling events Dario Faggioli
2016-02-15 16:51   ` Konrad Rzeszutek Wilk
2016-02-15 17:03     ` Dario Faggioli
2016-02-05 18:35 ` [PATCH 12/14] xenalyze: handle Credit1 scheduler events Dario Faggioli
2016-02-05 18:35 ` [PATCH 13/14] xenalyze: handle Credit2 " Dario Faggioli
2016-02-05 18:35 ` [PATCH 14/14] xenalyze: handle RTDS " Dario Faggioli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160205183137.4543.56523.stgit@Solace.station \
    --to=dario.faggioli@citrix.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=olaf@aepfle.de \
    --cc=tiche@seas.upenn.edu \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    --cc=xumengpanda@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).