Re: OMAP3 interrupt latency much worse when CPU idle

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Welcome to the next episode of the OMAP interrupt latency saga...

On Tue, Nov 28, 2017 at 12:09:06PM -0600, Grygorii Strashko wrote:
> On 11/23/2017 05:06 AM, Ladislav Michl wrote:
> > On Thu, Nov 23, 2017 at 11:26:04AM +0100, Ladislav Michl wrote:
> > > On Thu, Nov 23, 2017 at 10:35:42AM +0100, Ladislav Michl wrote:
> > > > On Thu, Nov 16, 2017 at 03:04:48PM -0600, Grygorii Strashko wrote:
> > > > [snip]
> > > > > I recommend to disable CPU idle completely in config and re-check test,
> > > > > before continue with other things.
> > > > 
> > > > Strangely enough latency is much worse with CONFIG_CPU_IDLE disabled.
> > > 
> > > While it is better with:
> > > CONFIG_HZ_PERIODIC=y
> > > CONFIG_CPU_FREQ=n
> > > CONFIG_PM=n
> > > 
> > > But both ehci and musb does not see any device connected and:
> > [snip]
> > 
> > The culprit here is CONFIG_PM. With CONFIG_PM disabled latency jitter is
> > about 30us, which is pretty good for general purpose OS. But some drivers
> > do not work without CONFIG_PM. Suggestions?
> 
> Not sure OMAP ever expected to fully work with CONFIG_PM=n
> 
> You can try play with HWMOD props, like add flags to gpio hwmods:
> HWMOD_NO_OCP_AUTOIDLE
> HWMOD_NO_IDLE
> HWMOD_CLKDM_NOAUTO

I have at91sam9g20 board on my table (ARM926EJ-S, yes indeed), so I did
similar measurements and got average latency about 15us (with CONFIG_PM,
CONFIG_CPU_IDLE enabled).

And as OMAP's DM timer event capture is now working, simple test was run:
DM timer can capture event on I/O pin, it stores counter value into
dedicated register once configured edge is detected and fires interrupt.
In that interrupt handler, actual counter value is read and compared to
the value stored in dedicated register. Latency found this way is 100~300us,
so no matter interrupt source, we are just a bit slow :)

For this particular testcase omap3 performs order of magnitude worse than
ancient at91sam9g20. I prepared few a bit more sophisticated testcases I'm
going to run during next week, so this is just a gentle ping if anyone
comes with an idea what else to try to get lower latencies :-)

Thank you,
	ladis
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux