Hi Ingo, On Wed, 17 Jun 2015 11:17:04 +0200 Ingo Molnar <mi...@kernel.org> wrote: > > * Riku Voipio <riku.voi...@iki.fi> wrote: > > > The commit: > > > > commit d72da4a4d973d8a0a0d3c97e7cdebf287fbe3a99 > > Author: Peter Zijlstra <pet...@infradead.org> > > Date: Wed May 27 11:09:36 2015 +0930 > > > > rbtree: Make lockless searches non-fatal > > > > Adds <linux/rcupdate.h> to rbtree.h, which in turn is included from perf > > userspace > > headers. Now building tools/perf will fail with hundreds of lines of gcc > > complaining > > about kernel defines not available. Reverting the patch makes perf build > > again. > > This is with gcc-4.9 from debian but I don't think it's compiler specific. > > Does the patch below make things work? > > This fix could go into the modules tree, as this commit came via Rusty. > > Stephen, feel free to add: > > make -C tools/perf > > to the linux-next build tests. It's always supposed to build without failure, > in > pretty much whatever x86 distro you run your build tests on.
OK, I have started doing that, but int order to make it build at all, I have added the patch below to my fixes tree (since the breakage is now in Linus' tree). This means that it will get a conflict with the tip tree tomorrow, but I will just fix the conflict by using the version from the tip tree. Once the tip tree fixes are sent to Linus, I will drop this patch from my fixes tree. > From 62c251255f07ede8efa356d4ea9ab51827ffa0d0 Mon Sep 17 00:00:00 2001 > From: Ingo Molnar <mi...@kernel.org> > Date: Wed, 17 Jun 2015 11:07:11 +0200 > Subject: [PATCH] tools/perf, rbtree: Add RCU wrappers to make rbtree.h usable > in user-space > > Reported-by: Riku Voipio <riku.voi...@iki.fi> > Signed-off-by: Ingo Molnar <mi...@kernel.org> > --- > tools/perf/util/include/linux/rcupdate.h | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/tools/perf/util/include/linux/rcupdate.h > b/tools/perf/util/include/linux/rcupdate.h > new file mode 100644 > index 000000000000..3e022dd9a69b > --- /dev/null > +++ b/tools/perf/util/include/linux/rcupdate.h > @@ -0,0 +1,9 @@ > +#ifndef PERF_LINUX_RCUPDATE_H_ > +#define PERF_LINUX_RCUPDATE_H_ > + > +/* Simple trivial wrappers for now, we don't use RCU in perf user-space > (yet): */ > +#define WRITE_ONCE(var, val) ((var) = (val)) > +#define rcu_assign_pointer(ptr, val) WRITE_ONCE(ptr, val) > + > +#endif > + -- Cheers, Stephen Rothwell s...@canb.auug.org.au
pgpRXAkWDWmrJ.pgp
Description: OpenPGP digital signature