Interrupt latencies on i.mx was Re: generic irq handler and stack?
Tim Sander
tim.sander at hbm.com
Mon Dec 13 06:20:48 EST 2010
Hi
> > Ok. So e58aa3d2d0cc01ad8d6f7f640a0670433f794922 probably doesn't add any
> > additional delays in this case.
> I fail to see what has that commit ID got to do with whether we run IRQ
> handlers in IRQ mode or SVC mode.
My focus was on interrupt service latencies but i might still be confused
about the interrupt system...
Nevertheless to answer my question and make people happy searching the
archives: The answer to my question where to put specific interrupt controller
code on the arm freescale mxc (i.mx) platform is the entry-macro.S to be
found under arch/arm/plat-mxc/include/mach. So i also found out that the
switch CONFIG_MXC_IRQ_PRIOR seems to handle the AVIC in the way it is
described in the reference manual (At least if r4 is saved on stack after
"get_irqnr_preamble" and restored before "get_irqnr_and_base".).
Nevertheless if i am enabling MXC_IRQ_PRIOR and set the priorities like this
in platform init:
imx_irq_set_priority(34,15); //SDMA Measval
imx_irq_set_priority(29,14); //TIMER
imx_irq_set_priority(57,13); //FEC
I get worse IRQ latency times (ca. 90µs vs. ca. 45µs) when MXC_IRQ_PRIOR is
switched *on* and flood pinging the device. This result seems at least counter
intuitive to me.
Besides, wouldn't it be usefull to allow priority setting even if
MXC_IRQ_PRIOR is not set? As far as i understand the code with MXC_IRQ_PRIOR
the IRQ's are not nested. This means if one interrupt finishes the next one is
picked, so the priority set with imx_irq_set_priority would determine which
interrupt is picked next when two interrupts are pending concurrently?
Best regards
Tim
Hottinger Baldwin Messtechnik GmbH, Im Tiefen See 45, 64293 Darmstadt, Germany | www.hbm.com
Registered as GmbH (German limited liability corporation) in the commercial register at the local court of Darmstadt, HRB 1147
Company domiciled in Darmstadt | CEO: Andreas Huellhorst | Chairman of the board: James Charles Webster
Als Gesellschaft mit beschraenkter Haftung eingetragen im Handelsregister des Amtsgerichts Darmstadt unter HRB 1147
Sitz der Gesellschaft: Darmstadt | Geschaeftsfuehrung: Andreas Huellhorst | Aufsichtsratsvorsitzender: James Charles Webster
The information in this email is confidential. It is intended solely for the addressee. If you are not the intended recipient, please let me know and delete this email.
Die in dieser E-Mail enthaltene Information ist vertraulich und lediglich für den Empfaenger bestimmt. Sollten Sie nicht der eigentliche Empfaenger sein, informieren Sie mich bitte kurz und loeschen diese E-Mail.
More information about the linux-arm-kernel
mailing list