Re: [PATCH] scripts/checksyscalls.sh: only whine perf_counter_openwhen supported

From: Ingo Molnar
Date: Fri Jun 12 2009 - 11:21:53 EST



* Mike Frysinger <vapier.adi@xxxxxxxxx> wrote:

> On Fri, Jun 12, 2009 at 08:05, Ingo Molnar wrote:
> > * Mike Frysinger <vapier@xxxxxxxxxx> wrote:
> >> If the port does not support HAVE_PERF_COUNTERS, then they can't
> >> support the perf_counter_open syscall either.  Rather than forcing
> >> everyone to add an ignore (or suffer the warning until they get
> >> around to implementing support), only whine about the syscall when
> >> applicable.
> >
> > No, this patch is wrong - it's really easy to add support: just hook
> > up the syscall. This should happen for every architecture really, so
> > the warning is correct and it should not be patched out.
> >
> > PMU support is not required to get perfcounters support: if an
> > architecture hooks up the syscall it will get generic software
> > counters and the tools will work as well.
> >
> > Profiling falls back to a hrtimer-based sampling method - this is a
> > much better fallback than oprofile's fall-back to the timer tick.
> > This hrtimer based sampling is dynticks/nohz-correct and can go
> > beyond HZ if the architecture supports hrtimers.
>
> these statements are actually incorrect. the perf counter code
> explicitly requires:
> - asm/perf_counter.h

An empty stub suffices.

> - support for atomic64 types (unless i missed something, x86 is the
> only 32bit system that supports these)

A wrapper suffices - should probably be librarized into lib/.

> - some perf stubs (like set_perf_counter_pending() -- prototype
> really should be in common perf_counters headers rather than forcing
> the arch to copy & paste the exact same line)

Agreed.

> not that any of this is documented ...

Patches are welcome :-)

You are right that the requirements are not necessarily trivial for
every arch - so i guess our original patch is correct.

Acked-by: Ingo Molnar <mingo@xxxxxxx>

Ingo
--
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/