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

Attachment: pgpRXAkWDWmrJ.pgp
Description: OpenPGP digital signature

Reply via email to