x86: don't include slab.h from arch/x86/include/asm/pgtable_32.h
authorTejun Heo <tj@kernel.org>
Tue, 23 Mar 2010 06:32:53 +0000 (15:32 +0900)
committerTejun Heo <tj@kernel.org>
Tue, 30 Mar 2010 13:02:21 +0000 (22:02 +0900)
commit57f4c226d1e095a2db20c691c3cf089188fe1c5d
treef6a3897880bfa6cac6773c2471e24fae2adf60f0
parent9623e5a23724d09283c238960946ec6f65733afe
x86: don't include slab.h from arch/x86/include/asm/pgtable_32.h

Including slab.h from x86 pgtable_32.h creates a troublesome
dependency chain w/ ftrace enabled.  The following chain leads to
inclusion of pgtable_32.h from define_trace.h.

 trace/define_trace.h
 trace/ftrace.h
 linux/ftrace_event.h
 linux/ring_buffer.h
 linux/mm.h
 asm/pgtable.h
 asm/pgtable_32.h

slab.h itself defines trace hooks via

 linux/sl[aou]b_def.h
 linux/kmemtrace.h
 trace/events/kmem.h

If slab.h is not included before define_trace.h is included, this
leads to duplicate definitions of kmemtrace hooks or other include
dependency problems.

pgtable_32.h doesn't need slab.h to begin with.  Don't include it from
there.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: H. Peter Anvin <hpa@zytor.com>
arch/x86/include/asm/pgtable_32.h