RE: Interrupt Latencies
From: Thomas Gleixner
Date: Thu Feb 24 2011 - 07:18:15 EST
On Thu, 24 Feb 2011, Schaefer Dr, Frank-Rene () wrote:
> In response to Thomas Gleixner:
> > Interrupt latency depends on various factors:
> > - Interrupt disabled code regions
> Could you tell us how this could be detected or measured?
> Is there a central place, where we could toggle a pin to
> see when interrupts are enabled/disabled?
ftrace allows you to analyse that.
> > - Concurrent interrupts and the ordering of handling
> We are only considering the best times that we measure.
> > - Deep idle states
> You mean 'suspend' or some type of CPU sleep. Could you elaborate?
> We do not suspend. This should also only be the case for the
> first chunk that is transmitted. But the latencies remain
> over longer time spans.
NOHZ idle can push the cpu into deeper power states (C2/C3). But there
are also BIOSes which do agressive power management behind the kernels
Turn off CONFIG_NOHZ and add "processor.max_cstate=1" to the kernel
command line. You might also try "idle=poll" for a test.
> > - Bus contention
> Nothing else is running.
That does not guarantee anything. Think DMA.
> > How is that interrupt connected to the CPU/chipset?
> The port is part of the chipset connected internally
> via PCI.
> > Which driver(s) is/are involved ?
> > How is the pin OUT accessed from the driver?
> gpio_set_value(Pin, Value);
> we measured the delay and could find that it was in the range
> of some nano seconds.
Is the SPI controller part of the chipset or comes the interrupt via
one of the GPIOs as well?
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/