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

[Xen-devel] [PATCH 00/14] Scheduling related tracing improvements

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



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