-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Mon, 13 Apr 2009 12:14:42 +0530 Suresh Kumar SHUKLA <suresh.shukla@xxxxxx> wrote: > Hi, > > I want to profile the improvements in interrupt latency with and without RT > patches. > > The approach I have in mind is that time gap between IRQ firing and IRQ > handler reading value of counter would be sufficient to reveal the interrupt > latency. These values can be analysed for min/max/avg. > > Is there any test program which captures interrupt latency (for x86) ? > I checked realfeel but it is user mode program and am not sure of its > accuracy. > > regards, > Suresh > Have you tried cyclictest? It's part of the rt-tests package that Thomas Gleixner wrote and that I now maintain. You can pick up the latest tarball here: http://www.kernel.org/pub/linux//kernel/people/clrkwllms/rt-tests/rt-tests-0.35.tar.bz2 The thing is, I'm not sure how useful measuring the interval between interrupt and ISR. It's such a small component of the total latency value that it usually gets lost in the noise. Cyclictest measures the time between a timer fires and when the user-space program (cyclictest) actually gets to run after a sleep, which is the entire latency value. What you're talking about measuring on RT is basically a lookup and schedule() call, since all interrupts have threaded handlers on RT. If you are wanting to decompose the latency into it's components on RT, I think you'd have: 1. ISR latency 2. Scheduler latency for IRQ thread 3. IRQ handler time 4. Scheduler latency for user-space thread Cyclictest measures the aggregate of all these. Clark -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.10 (GNU/Linux) iEYEARECAAYFAknjSLEACgkQHyuj/+TTEp1kuACfSi13WaRt6nZDc53LXWqSsbsK Tv0AoJHpeXAjOkCPu5yBMElNDMr3Ij0y =5LIa -----END PGP SIGNATURE----- ÿôèº{.nÇ+?·?®??+%?Ëÿ±éݶ¥?wÿº{.nÇ+?·¥?{±þ»ÿºÇ«³ø§¶?¡Ü¨}©?²Æ zÚ&j:+v?¨þø¯ù®w¥þ?à2?Þ?¨èÚ&¢)ß¡«a¶Úÿÿûàz¿äz¹Þ?ú+?ù???Ý¢jÿ?wèþf