From: Pekka Enberg on
On Wed, Mar 24, 2010 at 10:48 AM, Tejun Heo <tj(a)kernel.org> wrote:
> 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
>
> And when 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(a)kernel.org>
> Cc: Ingo Molnar <mingo(a)elte.hu>
> Cc: Thomas Gleixner <tglx(a)linutronix.de>
> Cc: H. Peter Anvin <hpa(a)zytor.com>

Acked-by: Pekka Enberg <penberg(a)cs.helsinki.fi>

> ---
> �arch/x86/include/asm/pgtable_32.h | � �1 -
> �1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h
> index 47339a1..2984a25 100644
> --- a/arch/x86/include/asm/pgtable_32.h
> +++ b/arch/x86/include/asm/pgtable_32.h
> @@ -19,7 +19,6 @@
> �#include <asm/paravirt.h>
>
> �#include <linux/bitops.h>
> -#include <linux/slab.h>
> �#include <linux/list.h>
> �#include <linux/spinlock.h>
>
> --
> 1.6.4.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo(a)vger.kernel.org
> More majordomo info at �http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at �http://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/