[PATCH 2/2] ftrace - add ftrace function_graph support on ARM

Russell King - ARM Linux linux at arm.linux.org.uk
Sat Oct 9 15:37:57 EDT 2010

On Sat, Oct 09, 2010 at 11:20:50PM +0530, Rabin Vincent wrote:
> On Sun, Mar 7, 2010 at 1:48 AM, Russell King - ARM Linux
> <linux at arm.linux.org.uk> wrote:
> > On Fri, Mar 05, 2010 at 04:36:47PM -0800, Tim Bird wrote:
> >> IRQENTRY_TEXT was added to vmlinux.lds.S (to eliminate
> >> a compiler error on kernel/trace/trace_functions_graph.c),
> >> although no routines were marked as __irq_entry.
> >
> > Well, ARM already places the assembly exception text in its own separate
> > section for other reasons.  We can't place it in two sections.
> >
> > What is __irq_entry used for?  Just the low level assembly or C functions?
> It's used just for the C entry functions for interrupts: asm_do_IRQ()
> and the IPI and local timer functions.
> AFAICS __exception seems to be used only for is_exception_text().  If
> that's the case, would it be OK to just place those functions in
> __irq_entry if ftrace is built and have is_exception_text() check that
> section too?

No.  is_exception_text() is used to detect those functions which have
a specific stack layout - which is that there's a pt_regs struct on the
stack.  Grouping other functions into that violates the expectation.

More information about the linux-arm-kernel mailing list