提交 f0201738 编写于 作者: S Steven Rostedt 提交者: Steven Rostedt

ftrace: Avoid recording mcount on .init sections directly

The init and exit sections should not be traced and adding a call to
mcount to them is a waste of text and instruction cache. Have the
macro section attributes include notrace to ignore these functions
for tracing from the build.

Link: http://lkml.kernel.org/r/20110421023738.953028219@goodmis.orgSigned-off-by: NSteven Rostedt <rostedt@goodmis.org>
上级 85356f80
...@@ -79,29 +79,29 @@ ...@@ -79,29 +79,29 @@
#define __exitused __used #define __exitused __used
#endif #endif
#define __exit __section(.exit.text) __exitused __cold #define __exit __section(.exit.text) __exitused __cold notrace
/* Used for HOTPLUG */ /* Used for HOTPLUG */
#define __devinit __section(.devinit.text) __cold #define __devinit __section(.devinit.text) __cold notrace
#define __devinitdata __section(.devinit.data) #define __devinitdata __section(.devinit.data)
#define __devinitconst __section(.devinit.rodata) #define __devinitconst __section(.devinit.rodata)
#define __devexit __section(.devexit.text) __exitused __cold #define __devexit __section(.devexit.text) __exitused __cold notrace
#define __devexitdata __section(.devexit.data) #define __devexitdata __section(.devexit.data)
#define __devexitconst __section(.devexit.rodata) #define __devexitconst __section(.devexit.rodata)
/* Used for HOTPLUG_CPU */ /* Used for HOTPLUG_CPU */
#define __cpuinit __section(.cpuinit.text) __cold #define __cpuinit __section(.cpuinit.text) __cold notrace
#define __cpuinitdata __section(.cpuinit.data) #define __cpuinitdata __section(.cpuinit.data)
#define __cpuinitconst __section(.cpuinit.rodata) #define __cpuinitconst __section(.cpuinit.rodata)
#define __cpuexit __section(.cpuexit.text) __exitused __cold #define __cpuexit __section(.cpuexit.text) __exitused __cold notrace
#define __cpuexitdata __section(.cpuexit.data) #define __cpuexitdata __section(.cpuexit.data)
#define __cpuexitconst __section(.cpuexit.rodata) #define __cpuexitconst __section(.cpuexit.rodata)
/* Used for MEMORY_HOTPLUG */ /* Used for MEMORY_HOTPLUG */
#define __meminit __section(.meminit.text) __cold #define __meminit __section(.meminit.text) __cold notrace
#define __meminitdata __section(.meminit.data) #define __meminitdata __section(.meminit.data)
#define __meminitconst __section(.meminit.rodata) #define __meminitconst __section(.meminit.rodata)
#define __memexit __section(.memexit.text) __exitused __cold #define __memexit __section(.memexit.text) __exitused __cold notrace
#define __memexitdata __section(.memexit.data) #define __memexitdata __section(.memexit.data)
#define __memexitconst __section(.memexit.rodata) #define __memexitconst __section(.memexit.rodata)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册