Re: [PATCH v7 04/17] tracing: add static function tracer support for MIPS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Wu Zhangjin wrote:
Hi,

On Mon, 2009-11-09 at 16:26 -0800, David Daney wrote:
Wu Zhangjin wrote:

+ifndef CONFIG_FUNCTION_TRACER
 cflags-y := -ffunction-sections
+else
+cflags-y := -mlong-calls
+endif
 cflags-y += $(call cc-option, -mno-check-zero-division)
That doesn't make sense to me. Modules are already compiled with -mlong-calls. The only time you would need the entire kernel compiled with -mlong-calls is if the tracer were in a module. The logic here doesn't seem to reflect that.

Yes, I knew the module have gotten the -mlong-calls, Here we just want
to use -mlong-calls for the whole kernel, and then we get the same
_mcount stuff in the whole kernel, at last, we can use the same
scripts/recordmcount.pl and ftrace_make_nop & ftrace_make_call for the
dynamic ftracer.


-mlong-calls really degrades performance. I have seen things like 6% drop in network packet forwarding rates with -mlong-calls.

It would be better to fix all the tools so that they could handle both -mlong-calls and -mno-long-calls code.


David Daney


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux