commit d72da4a4d973 (rbtree: Make lockless searches non-fatal) breaks perf build

Markus Trippelsdorf
2015-07-05T12:56:14Z

Since:
commit d72da4a4d973d8a0a0d3c97e7cdebf287fbe3a99
Author: Peter Zijlstra <peterz@infradead.org>
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