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)
next 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).