Re: perf: PERF_EVENT_IOC_PERIOD on ARM vs everywhere else

From: Vince Weaver
Date: Thu Oct 31 2013 - 11:17:55 EST

On Wed, 30 Oct 2013, Will Deacon wrote:
> On Wed, Oct 30, 2013 at 02:13:11PM +0000, Vince Weaver wrote:
> > Uncompiled too I guess?
> >
> > kernel/events/core.c: In function âperf_event_periodâ:
> > kernel/events/core.c:3531: error: invalid type argument of â->â (have âlocal64_tâ)
> > make[3]: *** [kernel/events/core.o] Error 1
> That's trivial to fix.

Probably, although Peter's been sending some "interesting" mostly untested
perf patches to linux-kernel the past few days so before testing I'd
rather have a patch that at least compiles cleanly.

> > I also won't be able to test the ARM change, as my pandaboard won't boot
> > with recent kernels (can't find the MMC root filesystem) and I haven't had
> > time to track down why. Also even on a simple period changing test it
> > often fails due to lost interrupts (the Cortex-A9 lost interrupt errata?).
> The omap guys like trying to blame the A9 erratum for that (which doesn't
> even affect the cycle counter), but the reality is that the CTI never
> worked reliably with mainline, and now there are no developers working
> on that after the TI layoffs. I don't see the state of Pandaboard support
> improving over time.

So it might be OMAP4460/CTI specific and not related to the errata?
That might be nice especially if things might work on other cortex-a9

A shame about the TI people, they were often semi-responsive to my
OMAP4460 questions even if it was usually just to say "ignore the
documentation, that's broken, don't do that"

> If you have a canned testcase for this stuff, I'm happy to run it on my
> Chromebook.

There's the tests/ioctl/ioctl_period test in my perf_event_tests.git tree
but it's very simple. Currently it will likely just return success on
current x86 Linux but fail on newish ARM and patched x86. I need to
fix it to print old_behavior/new_behavior/fail I guess.

I have a cortex-a15 chromebook too, but I haven't managed to get a
recent kernel booting on it yet.