Hi, On Wed, Jun 03, 2015 at 02:41:39PM -0700, Stephen Boyd wrote: > >>>>AM43xx, even though it's a single processor A9, it still has TWD and global > >>>>timer. I was doing some profiling with RT v4.0 and latency is 3.5x lower just > >>>>by switching from gptimer to twd/global. > >>>> > >>>>The only problem is that currently, is_smp() check prevents me from using twd > >>>>with AM43xx (that's why it's commented below, for testing purposes). > >>>> > >>>>In the hopes that we can start a, hopefully, small thread around the subject, > >>>>I'm sending this HACK which I used to get TWD and global timer enabled so I > >>>>could measure latencies with cyclictest. > >>>> > >>>>Is it so that TWD shouldn't be available on UP integrations of ARM's Cortex-A > >>>>processors ? > >>>> > >>>> > >>>I wondered about this recently when looking at something unrelated > >>>and noticed that the check had been introduced as part of > >>>904464b91eca8 ("ARM: 7655/1: smp_twd: make twd_local_timer_of_register() > >>>no-op for nosmp"). > >>> > >>>I suspect this was just the wrong fix at the time, and that the > >>>real culprit is either alloc_percpu() or request_percpu_irq() > >>>getting called too early on a machine without SMP support. > >>> > >>>Possibly the problem is already resolved independently, if you > >>>didn't run into it. > >>no, no splats, nothing at all. See [1] > >> > >>[1] http://hastebin.com/helekubutu > >Adding Shawn > > > > Mason was also interested in doing this. See [2]. From what I could tell > back then, commit 904464b91eca8 was working around the local timer APIs that > no longer exist. > > [2] http://thread.gmane.org/gmane.linux.ports.arm.kernel/389931/focus=392348 A lot of good information on that thread, thanks. Seems like getting twd/global timer working would also have some effect on context switching, perhaps ? cheers -- balbi
Attachment:
signature.asc
Description: Digital signature