lkml.org 
[lkml]   [2009]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v7 04/17] tracing: add static function tracer support for MIPS
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


\
 
 \ /
  Last update: 2009-11-10 17:53    [W:0.094 / U:3.804 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site