* Pekka Enberg <penberg@xxxxxxxxxxxxxx> wrote: > Hi Ingo, > > On Mon, Oct 26, 2009 at 1:38 PM, tip-bot for Michael Cree > <mcree@xxxxxxxxxxxx> wrote: > > Commit-ID: fcd14b3203b538dca04a2b065c774c0b57863eec > > Gitweb: http://git.kernel.org/tip/fcd14b3203b538dca04a2b065c774c0b57863eec > > Author: Michael Cree <mcree@xxxxxxxxxxxx> > > AuthorDate: Mon, 26 Oct 2009 21:32:06 +1300 > > Committer: Ingo Molnar <mingo@xxxxxxx> > > CommitDate: Mon, 26 Oct 2009 09:45:41 +0100 > > > > perf tools, Alpha: Add Alpha support to perf.h > > > > For the perf tool the patch implements an Alpha specific section > > in the perf.h header file. > > > > Signed-off-by: Michael Cree <mcree@xxxxxxxxxxxx> > > Cc: Richard Henderson <rth@xxxxxxxxxxx> > > Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> > > Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> > > Cc: Paul Mackerras <paulus@xxxxxxxxx> > > LKML-Reference: <1256545926-6972-1-git-send-email-mcree@xxxxxxxxxxxx> > > Signed-off-by: Ingo Molnar <mingo@xxxxxxx> > > --- > > tools/perf/perf.h | 6 ++++++ > > 1 files changed, 6 insertions(+), 0 deletions(-) > > > > diff --git a/tools/perf/perf.h b/tools/perf/perf.h > > index 8cc4623..216bdb2 100644 > > --- a/tools/perf/perf.h > > +++ b/tools/perf/perf.h > > @@ -47,6 +47,12 @@ > > #define cpu_relax() asm volatile("":::"memory") > > #endif > > > > +#ifdef __alpha__ > > +#include "../../arch/alpha/include/asm/unistd.h" > > +#define rmb() asm volatile("mb" ::: "memory") > > +#define cpu_relax() asm volatile("" ::: "memory") > > +#endif > > OK, I'll bite. We tell userspace developers not to include kernel > headers. Why is it okay for perf to do it (especially for something > that's in asm)? The main counter-argument against inclusion was always "what if we break them accidentally". I.e. it can become a semi-ABI - stuff we cannot change because we cannot change the outside projects. With perf this cannot occur - it's all in one Git tree and can always be fixed/changed. Note that we reuse a couple of other facilities in tools/perf as well - linux/list.h, rbtree.c, etc. - and this is good - you can code perf as if you were hacking on the kernel! ;-) Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html