Commit
5a0e3ad ("include cleanup: Update gfp.h and slab.h
includes to prepare for breaking implicit slab.h inclusion
from percpu.h") added a '#include <linux/slab.h>' to
tools/perf/builtin-kmem.h because: that tool has lines like
this:
if (!strcmp(event->name, "kmalloc") ||
!strcmp(event->name, "kmem_cache_alloc")) {
process_alloc_event(data, event, cpu, timestamp, thread, 0);
return;
}
So, using the script regex:
>>> import re
>>> s = re.compile(r'^(|.*[^a-zA-Z0-9_])_*(slab_is_available|kmem_cache_|k[mzc]alloc|krealloc|kz?free|ksize|__getname|putname)')
>>> l = ' !strcmp(event->name, "kmem_cache_alloc")) {'
>>> s.search(l)
<_sre.SRE_Match object at 0xb77b1ad0>
>>>
Remove that file that is not available in the tools/perf include
path and thus builtin-kmem.c couldn't be compiled.
Reported-by: Peter Zijlstra <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Frédéric Weisbecker <[email protected]>
Cc: Lee Schermerhorn <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Tejun Heo <[email protected]>
Cc: Linus Torvalds <[email protected]>
LKML-Reference: <
1270561053[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
#include "util/debug.h"
#include <linux/rbtree.h>
-#include <linux/slab.h>
struct alloc_stat;
typedef int (*sort_fn_t)(struct alloc_stat *, struct alloc_stat *);