CONFIG_FTRACE works by having the compiler insert a call to mcount()
into the beginning of every kernel function.  The author has quantified
this overhead at 15–18% even for a completely empty mcount() function
<http://lkml.org/lkml/2008/8/7/270>; the actual overhead is greater
because the real mcount() function needs to test whether ftrace is
enabled before returning.

CONFIG_DYNAMIC_FTRACE reduces this overhead to nearly zero by patching
over the mcount() calls with NOPs at runtime, but obviously because of
the bug this feature can no longer be used.

(That’s all with ftrace disabled at runtime.  When it is enabled, the
overhead jumps to about 5000%, which more or less grinds the system to a
halt.)

So I would say that it is important to turn CONFIG_FTRACE off for the
release, if that’s still possible.

-- 
Major memory corruption bug in 2.6.27 CONFIG_DYNAMIC_FTRACE
https://bugs.launchpad.net/bugs/284109
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to