linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* IRQ handler under load - slow response
@ 2011-03-09 14:02 Arno Steffen
  2011-03-09 15:22 ` Kurt Van Dijck
  0 siblings, 1 reply; 8+ messages in thread
From: Arno Steffen @ 2011-03-09 14:02 UTC (permalink / raw)
  To: linux-arm-kernel

Hello, maybe someone of you can give me hint what is wrong with my system.
I do have coded an irq-handler, handling changes at GPIO pins. The
response time (from changing the level at Input until output is set in
IRQ handler) is ok (<100?s)
Then I started with fork another process, which is under heavy load
(consumes a lot of CPU power). From now the response time was quite
jittering and edge changes within 10ms are handled not reliable, so it
misses some input changes.
It seems that IRQ is not responding so fast, probably because of some
kind of process switch???

In application I announce the IRQ with
    sigaction (SIGUSR1, &strSigAction, NULL);
on rising edges.

---------------

Inside the kernel driver the IRQ will be announced with:
  s32Status = request_irq((IH_GPIO_BASE + s32AppRecvGpioNum),
                                     GpioIrqHandler,
                                     0,
                                     "GPIOINTR",
                                     NULL);

The handler looks like

static irqreturn_t GpioIrqHandler (int irq, void *dev_id)
{
    int s32GpioNumber = 0 ;
    s32GpioNumber = irq - IH_GPIO_BASE;
    set_bit (s32GpioNumber , (volatile unsigned long *) &gsts32GpioIrqStatus);
    tasklet_schedule (&GpioTasklet);
    return IRQ_HANDLED;
}

DECLARE_TASKLET(GpioTasklet, GpioIntrTasklet, 0);

------------------

What have I done wrong? Do I have a chance to speed up the response
from changing inputs?

best regards
Steffen

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-03-25  9:53 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-09 14:02 IRQ handler under load - slow response Arno Steffen
2011-03-09 15:22 ` Kurt Van Dijck
2011-03-14 13:26   ` Arno Steffen
2011-03-14 14:47     ` Kurt Van Dijck
2011-03-24 11:56       ` Arno Steffen
2011-03-24 14:45         ` Kurt Van Dijck
2011-03-25  8:46           ` Arno Steffen
2011-03-25  9:53             ` Kurt Van Dijck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).