On Mon 02-09-13 13:50:16, Jeff Mahoney wrote:
On 9/2/13 1:36 PM, Andi Kleen wrote:
Hi,
One thing that I find inconvenient with standard open suse kernels is that the function tracing support is disabled (CONFIG_FUNCTION_TRACER). I know it's in the tracing kernel, but that has a lot of stuff that is really slow.
It's incredibly useful to quickly debug or analyze things without recompiling.
I know the thing had significant overhead in the old days, but since dynamic mcount patching was added the overhead should be fairly low (<1-2%) when disabled.
Any chance to enable it by default?
I also noticed that some ftrace features should be also cheap are also disabled like CONFIG_TRACER_SNAPSHOT. And it's not clear why block trace is disabled too, it should be also practically free when disabled. But at least the function tracer would be nice.
It was disabled because, at some point, it started depending on a larger part of the tracing infrastructure which was much more expensive at the time. We probably just hadn't revisited it since then. Yes, it got disabled in SLE11 SP1 time mostly from a fear it could cause slowdowns. Also we do have CONFIG_BLK_DEV_IO_TRACE enabled in the default kernels for quite a while (years) again. CONFIG_FUNCTION_TRACER is disabled and although I agree it's very useful for debugging in some cases, I'm not sure it is worth the extra cost it imposes on everybody. I'd say yes for openSUSE kernels but for SLE kernels it would need serious benchmarking.
Honza
--
Jan Kara