ftrace: do not trace library functions
authorIngo Molnar <mingo@elte.hu>
Thu, 17 Jul 2008 15:40:48 +0000 (17:40 +0200)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Jul 2008 15:40:48 +0000 (17:40 +0200)
commit2464a609ded094204a3aed24823745ec58e3c879
tree54080daf81746787dbd11160752e04b9652b8728
parentc349e0a01c3e0f70913db6a5bb61ab204e0602de
ftrace: do not trace library functions

make function tracing more robust: do not trace library functions.

We've already got a sizable list of exceptions:

 ifdef CONFIG_FTRACE
 # Do not profile string.o, since it may be used in early boot or vdso
 CFLAGS_REMOVE_string.o = -pg
 # Also do not profile any debug utilities
 CFLAGS_REMOVE_spinlock_debug.o = -pg
 CFLAGS_REMOVE_list_debug.o = -pg
 CFLAGS_REMOVE_debugobjects.o = -pg
 CFLAGS_REMOVE_find_next_bit.o = -pg
 CFLAGS_REMOVE_cpumask.o = -pg
 CFLAGS_REMOVE_bitmap.o = -pg
 endif

... and the pattern has been that random library functionality showed
up in ftrace's critical path (outside of its recursion check), causing
hard to debug lockups.

So be a bit defensive about it and exclude all lib/*.o functions by
default. It's not that they are overly interesting for tracing purposes
anyway. Specific ones can still be traced, in an opt-in manner.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
lib/Makefile