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)

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to