2015-07-05 12:56:14

by Markus Trippelsdorf

[permalink] [raw]
Subject: commit d72da4a4d973 (rbtree: Make lockless searches non-fatal) breaks perf build

Since:
commit d72da4a4d973d8a0a0d3c97e7cdebf287fbe3a99
Author: Peter Zijlstra <[email protected]>
Date: Wed May 27 11:09:36 2015 +0930

rbtree: Make lockless searches non-fatal

perf doesn't build anymore:

markus@x4 perf % make clean && make
...
In file included from /usr/src/linux/include/uapi/linux/kernel.h:4:0,
from /usr/src/linux/include/linux/cache.h:4,
from /usr/src/linux/include/linux/rcupdate.h:37,
from /usr/src/linux/tools/perf/util/include/../../../../include/linux/rbtree.h:34,
from /usr/src/linux/tools/perf/util/include/linux/rbtree.h:4,
from util/sort.h:10,
from util/annotate.c:12:
/usr/src/linux/include/uapi/linux/sysinfo.h:8:2: error: unknown type name ‘__kernel_long_t’
__kernel_long_t uptime; /* Seconds since boot */
^
/usr/src/linux/include/uapi/linux/sysinfo.h:9:2: error: unknown type name ‘__kernel_ulong_t’
__kernel_ulong_t loads[3]; /* 1, 5, and 15 minute load averages */
^
/usr/src/linux/include/uapi/linux/sysinfo.h:10:2: error: unknown type name ‘__kernel_ulong_t’
__kernel_ulong_t totalram; /* Total usable main memory size */
^
/usr/src/linux/include/uapi/linux/sysinfo.h:11:2: error: unknown type name ‘__kernel_ulong_t’
__kernel_ulong_t freeram; /* Available memory size */
^
/usr/src/linux/include/uapi/linux/sysinfo.h:12:2: error: unknown type name ‘__kernel_ulong_t’
__kernel_ulong_t sharedram; /* Amount of shared memory */
^
/usr/src/linux/include/uapi/linux/sysinfo.h:13:2: error: unknown type name ‘__kernel_ulong_t’
__kernel_ulong_t bufferram; /* Memory used by buffers */
^
/usr/src/linux/include/uapi/linux/sysinfo.h:14:2: error: unknown type name ‘__kernel_ulong_t’
__kernel_ulong_t totalswap; /* Total swap space size */
^
/usr/src/linux/include/uapi/linux/sysinfo.h:15:2: error: unknown type name ‘__kernel_ulong_t’
__kernel_ulong_t freeswap; /* swap space still available */
^
/usr/src/linux/include/uapi/linux/sysinfo.h:18:2: error: unknown type name ‘__kernel_ulong_t’
__kernel_ulong_t totalhigh; /* Total high memory size */
^
/usr/src/linux/include/uapi/linux/sysinfo.h:19:2: error: unknown type name ‘__kernel_ulong_t’
__kernel_ulong_t freehigh; /* Available high memory size */
^
/usr/src/linux/include/uapi/linux/sysinfo.h:21:22: error: ‘__kernel_ulong_t’ undeclared here (not in a function)
char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)]; /* Padding: libc5 uses this.. */
^
In file included from /usr/src/linux/arch/x86/include/asm/preempt.h:5:0,
from /usr/src/linux/include/linux/preempt.h:64,
from /usr/src/linux/include/linux/spinlock.h:50,
from /usr/src/linux/include/linux/rcupdate.h:38,
from /usr/src/linux/tools/perf/util/include/../../../../include/linux/rbtree.h:34,
from /usr/src/linux/tools/perf/util/include/linux/rbtree.h:4,
from util/sort.h:10,
from util/annotate.c:12:
/usr/src/linux/arch/x86/include/asm/percpu.h:521:54: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
const unsigned long __percpu *addr)
^
/usr/src/linux/arch/x86/include/asm/percpu.h:533:54: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
const unsigned long __percpu *addr)
^
In file included from /usr/src/linux/include/asm-generic/percpu.h:6:0,
from /usr/src/linux/arch/x86/include/asm/percpu.h:551,
from /usr/src/linux/arch/x86/include/asm/preempt.h:5,
from /usr/src/linux/include/linux/preempt.h:64,
from /usr/src/linux/include/linux/spinlock.h:50,
from /usr/src/linux/include/linux/rcupdate.h:38,
from /usr/src/linux/tools/perf/util/include/../../../../include/linux/rbtree.h:34,
from /usr/src/linux/tools/perf/util/include/linux/rbtree.h:4,
from util/sort.h:10,
from util/annotate.c:12:
/usr/src/linux/include/linux/percpu-defs.h: In function ‘__this_cpu_preempt_check’:
/usr/src/linux/include/linux/percpu-defs.h:300:57: error: unused parameter ‘op’ [-Werror=unused-parameter]
static inline void __this_cpu_preempt_check(const char *op) { }
^
/usr/src/linux/arch/x86/include/asm/percpu.h: At top level:
/usr/src/linux/include/linux/percpu-defs.h:49:2: error: type defaults to ‘int’ in declaration of ‘__percpu’ [-Werror=implicit-int]
__percpu __attribute__((section(PER_CPU_BASE_SECTION sec))) \
^
/usr/src/linux/include/linux/percpu-defs.h:101:9: note: in expansion of macro ‘__PCPU_ATTRS’
extern __PCPU_ATTRS(sec) __typeof__(type) name
...

--
Markus


2015-07-06 07:53:28

by Ingo Molnar

[permalink] [raw]
Subject: Re: commit d72da4a4d973 (rbtree: Make lockless searches non-fatal) breaks perf build


* Markus Trippelsdorf <[email protected]> wrote:

> Since:
> commit d72da4a4d973d8a0a0d3c97e7cdebf287fbe3a99
> Author: Peter Zijlstra <[email protected]>
> Date: Wed May 27 11:09:36 2015 +0930
>
> rbtree: Make lockless searches non-fatal
>
> perf doesn't build anymore:

Yeah, can you confirm that the latest perf/urgent fixes this:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/urgent

?

Thanks,

Ingo

2015-07-06 07:57:44

by Markus Trippelsdorf

[permalink] [raw]
Subject: Re: commit d72da4a4d973 (rbtree: Make lockless searches non-fatal) breaks perf build

On 2015.07.06 at 09:53 +0200, Ingo Molnar wrote:
>
> * Markus Trippelsdorf <[email protected]> wrote:
>
> > Since:
> > commit d72da4a4d973d8a0a0d3c97e7cdebf287fbe3a99
> > Author: Peter Zijlstra <[email protected]>
> > Date: Wed May 27 11:09:36 2015 +0930
> >
> > rbtree: Make lockless searches non-fatal
> >
> > perf doesn't build anymore:
>
> Yeah, can you confirm that the latest perf/urgent fixes this:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/urgent

Yes, it does. Thanks.

--
Markus