All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Mike Frysinger <vapier.adi@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Paul Mackerras <paulus@samba.org>,
	linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH] scripts/checksyscalls.sh: only whine perf_counter_open when supported
Date: Fri, 12 Jun 2009 15:56:03 +0200	[thread overview]
Message-ID: <20090612135603.GF32105@elte.hu> (raw)
In-Reply-To: <8bd0f97a0906120621o609d7489v83cd3efc0102412d@mail.gmail.com>


* Mike Frysinger <vapier.adi@gmail.com> wrote:

> On Fri, Jun 12, 2009 at 09:09, Ingo Molnar wrote:
> > * Mike Frysinger <vapier.adi@gmail.com> wrote:
> >> On Fri, Jun 12, 2009 at 08:59, Ingo Molnar wrote:
> >> > * Mike Frysinger <vapier.adi@gmail.com> wrote:
> >> >> On Fri, Jun 12, 2009 at 08:31, Ingo Molnar wrote:
> >> >> > * Mike Frysinger <vapier.adi@gmail.com> wrote:
> >> >> >> On Fri, Jun 12, 2009 at 08:17, Ingo Molnar wrote:
> >> >> >> > * Mike Frysinger <vapier.adi@gmail.com> wrote:
> >> >> >> >> On Fri, Jun 12, 2009 at 08:05, Ingo Molnar wrote:
> >> >> >> >> > * Mike Frysinger <vapier@gentoo.org> 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.
> >> >> >> >>
> >> >> >> >> if there is generic support available, why must every arch select
> >> >> >> >> HAVE_PERF_COUNTERS in their Kconfig ?
> >> >> >> >
> >> >> >> > Because we only want to enable it on architectures that have tested
> >> >> >> > it. It should only need a syscall addition, but nothing beats having
> >> >> >> > tested things, hence we have that additional Kconfig symbol.
> >> >> >>
> >> >> >> that is a pretty weak reason. [...]
> >> >> >
> >> >> > It isnt - this is proper isolation - dont offer something to the
> >> >> > user to enable that 1) cannot be used due to the lack of a syscall
> >> >> > 2) has not been tested by anyone on that architecture, ever.
> >> >> >
> >> >> > That way say build breakages or runtime failures due to perfcounters
> >> >> > only become possible on an architecture if the architecture
> >> >> > maintainer has hooked up the syscall and has provided
> >> >> > HAVE_PERF_COUNTERS explicitly.
> >> >>
> >> >> except that the syscall presence is trivial to detect in the code by
> >> >> something like:
> >> >> #ifndef __NR_perf_counter_open
> >> >> # error sorry, your arch has not hooked up perf_counter_open syscall yet
> >> >> #endif
> >> >>
> >> >> as for "no arch testing yet", there are plenty of drivers which lack
> >> >> arch depends in the Kconfig specifically so that it can be *easily*
> >> >> tested on random systems out there without requiring manual twiddling.
> >> >
> >> > This is a new kernel subsystem, not just yet another driver.
> >>
> >> so what ?  if it has generic pieces, it is exactly the same as yet
> >> another generic driver.  people should be able to randomly test
> >> build it when possible to discover latent issues that your testing
> >> limited to one arch did not find.
> >>
> >> > Which bit of: "we dont want perfcounters to be enabled in the
> >> > Kconfig on architectures that have no syscalls and no testing for
> >> > it" is hard to understand? It is a valid technical concern.
> >>
> >> your (1) is valid but i already pointed out a simple fix for that.
> >> your (2) is not.
> >
> > Uhm, your 'fix':
> >
> >  #ifndef __NR_perf_counter_open
> >  # error sorry, your arch has not hooked up perf_counter_open syscall yet
> >  #endif
> >
> > is completely unacceptable. We dont propagate build failures via
> > user-enable config options, we never did. There's a lot of people
> > doing randconfig builds - if it randomly failed due to your 'fix'
> > that would upset a lot of testing for no good reason.
> 
> accept that is a valid bug: the arch is missing the syscall and it 
> should hook it up

Uhm, that's ridiculous, observe lkml for a few weeks and see what 
happens when any subsystem fails to build in a user-configurable 
variation. Even if it's "just" because something like a syscall 
definition is missing.

Anyway, i have no time to teach you about kernel mainteinance basics 
really so i probably wont follow up on future emails.

Thanks,

	Ingo

  reply	other threads:[~2009-06-12 13:56 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-12 11:29 [PATCH] scripts/checksyscalls.sh: only whine perf_counter_open when supported Mike Frysinger
2009-06-12 12:05 ` Ingo Molnar
2009-06-12 12:13   ` Mike Frysinger
2009-06-12 12:17     ` Ingo Molnar
2009-06-12 12:22       ` Mike Frysinger
2009-06-12 12:31         ` Ingo Molnar
2009-06-12 12:41           ` Mike Frysinger
2009-06-12 12:59             ` Ingo Molnar
2009-06-12 13:04               ` Mike Frysinger
2009-06-12 13:09                 ` Ingo Molnar
2009-06-12 13:21                   ` Mike Frysinger
2009-06-12 13:56                     ` Ingo Molnar [this message]
2009-06-12 15:25                       ` Alan Cox
2009-06-12 15:56                         ` Ingo Molnar
2009-06-12 16:57                       ` Ingo Molnar
2009-06-12 17:11                         ` Mike Frysinger
2009-06-12 13:34           ` Mike Frysinger
2009-06-12 15:16   ` Mike Frysinger
2009-06-12 15:21     ` Ingo Molnar
2009-06-12 15:29       ` Mike Frysinger
2009-06-12 15:50         ` Ingo Molnar
2009-06-13 21:00         ` Ingo Molnar
2009-06-13  4:37   ` Paul Mackerras
2009-06-13 10:48 ` Mike Frysinger
2009-06-14  9:37   ` Paul Mundt
2009-06-14  9:55     ` Mike Frysinger
2009-06-14 10:11       ` Paul Mundt
2009-06-14 10:55         ` Mike Frysinger
2009-06-14 11:20           ` Paul Mundt
2009-06-14 11:47             ` Mike Frysinger
2009-06-14 11:20           ` Sam Ravnborg
  -- strict thread matches above, loose matches on Subject: below --
2009-06-13 11:11 Mike Frysinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090612135603.GF32105@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulus@samba.org \
    --cc=tglx@linutronix.de \
    --cc=vapier.adi@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.