[PATCH] preemption latency measurement tool

From: Robert Love (rml@tech9.net)
Date: Tue Apr 09 2002 - 00:23:16 EST


preempt-stats, the preemption-off period measurement tool, has been
updated with new patches for 2.4.18, 2.4.19-pre6, 2.4.19-pre5-ac3,
2.5.7, and 2.5.8-pre2 available at:

        http://www.kernel.org/pub/linux/kernel/people/rml/preempt-stats
                and
        http://tech9.net/rml/linux

A lot of work, courtesy of MontaVista, has gone into this release to
greatly improve the accuracy of the tool's measurements.

This patch instructs the kernel preemption code to measure periods of
non-preemptibility and report the 20 worst in /proc/latencytimes. These
results typically correspond to the 20 longest held spinlocks in your
working kernel. They help pinpoint specific problem areas that need
work. Example results:

cpu 0 worst 20 latency times of 2236 measured in this period.
  usec cause mask start line/file address end line/file
  9292 BKL 1 2839/buffer.c c0142caf 2842/buffer.c
  5999 spin_lock 9 86/softirq.c c011c56d 112/softirq.c
  4495 spin_lock 1 401/memory.c c0126f18 422/memory.c
  2697 spin_lock 1 671/inode.c c015658a 697/inode.c
  ... et cetera

The patch obviously requires a preemptive kernel. For 2.4, the patches
are available at the above address. Preempt-kernel is merged in 2.5.

Change Log:

20020409

- make stats code aware of PREEMPT_ACTIVE (Todd Poynor)
- proper start/stop order in preempt_schedule (Todd Poynor)
- explicitly force preempt region on/off in (Todd Poynor)
  schedule
- improve reporting wrt interrupts (Todd Poynor)
- missing stop in do_softirq (Todd Poynor)

20020302:

- make preempt-stats report meaningful stats (Todd Poynor)
  on SMP
- fix overflow with large latency values on (Todd Poynor)
  high clock-rate CPUs

20020204:

- accidently removed preempt_schedule export (Willy Tarreau)
- properly export statistics functions (Willy Tarreau)

Enjoy,

        Robert Love

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Apr 15 2002 - 22:00:12 EST