lkml.org 
[lkml]   [2011]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectInterrupt Latencies
Date
From
Hello. 

Having read "Moving interrupts to threads" at

http://lwn.net/Articles/302043/

I expected to reduce interrupt latency during a SPI
communication by handling the transmit-receive in a
'quick_check_handler' using

request_threaded_irq(...);


However, the difference in latency to "request_irq(...)"
is not measurable. It is still in the range from 60 to 110us
on a 1.6 GHz Atom CPU. From "linux/interrupt.h" I conclude
that depending on

CONFIG_GENERIC_HARDIQS

either 'request_irq' is mapped to 'request_threaded_irq'
or vice versa. We are able to measure the latency precisely
as the difference of the time when the interrupt pin 'IN'
is raised and we raise our response pin 'OUT' as shown below.

pin IN .-------------------------
______________|

pin OUT .-----------
____________________________|

|<- latency ->|

Could anyone point to locations in the kernel so that I can
precisely understand the mechanisms that cause the latency? It
is totally incomprehensible to me why the 'quick_check_handler'
must have a latency of 60us at min. (that are many thousand
instructions).

Any help and comments are greatly appreciated.

Best Regards

Frank


\
 
 \ /
  Last update: 2011-02-22 10:37    [W:0.082 / U:0.264 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site