Subject: Re: next-20081106: today's ftrace episode

From: Steven Rostedt <[email-masked]>
Date: Thu, 06 Nov 2008 15:03:26 -0500

Alexey Dobriyan wrote:
> On m68k-amiga:
>
>   CC      arch/m68k/kernel/asm-offsets.s
> In file included from include/linux/fs.h:287,
>                  from include/linux/ftrace.h:5,		<===
>                  from include/linux/hardirq.h:7,
>                  from include2/asm/system.h:69,
>                  from include/linux/list.h:7,		<===
>                  from include/linux/preempt.h:11,
>                  from include/linux/spinlock.h:50,
>                  from include/linux/seqlock.h:29,
>                  from include/linux/time.h:8,
>                  from include/linux/timex.h:57,
>                  from include/linux/sched.h:54,
>                  from arch/m68k/kernel/asm-offsets.c:12:
> include/linux/wait.h:37: error: field 'task_list' has incomplete type
> 	...
>
> commit 7e5e26a3d8ac4bcadb380073dc9604c07a9a6198 aka "trace: fix hardirq header for non ftrace archs"
>
>
>   
We only need to include the ftrace.h to declare the ftrace_nmi_enter and 
exit.

I could separate that out into its own "ftrace_irq.h" file, that 
hardirq.h can include. That should fix it.

basically all that would be needed in that file is this:

#ifdef CONFIG_DYNAMIC_FTRACE
    extern void ftrace_nmi_enter(void);
    extern void ftrace_nmi_exit(void);
#else
    static inline void ftrace_nmi_enter(void) { }
    static inline void ftrace_nmi_exit(void) { }
#endif /* CONFIG_DYNAMIC_FTRACE */

-- Steve