lkml.org 
[lkml]   [1998]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectLinux Interrupt Latency benchmark v4 avaible -> detected irq bottleneck before do_bottom_half()
lil-4 is avaible at http://e-mind.com/~andrea/linux.shtml (take a look at
my new completely rewritten homepage BTW ;-).

I developed a new very useful feature (to enable with detect=1) in lil-4.
At interrupt time now lil account the eip address where the kernel was
running before to run the irq handler. Then if the latency of the irq
handler is more than 3 times the mean of the latency until that time, lil
will printk the eip address of the kernel code that was running a bit
before to run the interrupt handler.

This new feature has raised that the _only_ point where the kernel is not
interrupt friendly is before the __sti() in do_bottom_half().

And here the numbers:

root@dragon:/home/andrea/devel/irq-latency/lil# insmod ./lil.o irq=3 num=2000000 detect=1
Linux Interrupt Latency benchmark - Copyright (C) 1998 Andrea Arcangeli
detected slow IRQ at: cycle 252593, latency 1653, eip c0117b05, CPU 0
detected slow IRQ at: cycle 254190, latency 2009, eip c0117b05, CPU 0
detected slow IRQ at: cycle 1560602, latency 1914, eip c017c00c, CPU 0
detected slow IRQ at: cycle 1560659, latency 2100, eip c017c00c, CPU 0
latency cycles: mean 542, max 2100, min 542

With 2000000 irq, the mean latency is 542 cycles. The only times the
latency was > than 3*542 the kernel was running at 2 asm instruction after
the sti() in do_bottom_half().

Andrea[s] Arcangeli


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html

\
 
 \ /
  Last update: 2005-03-22 13:44    [W:0.077 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site