[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4AF99848.9090000@caviumnetworks.com>
Date: Tue, 10 Nov 2009 08:43:52 -0800
From: David Daney <ddaney@...iumnetworks.com>
To: wuzhangjin@...il.com
CC: linux-mips@...ux-mips.org, linux-kernel@...r.kernel.org,
zhangfx@...ote.com, zhouqg@...il.com,
Ralf Baechle <ralf@...ux-mips.org>, rostedt@...dmis.org,
Frederic Weisbecker <fweisbec@...il.com>,
Ingo Molnar <mingo@...e.hu>,
Nicholas Mc Guire <der.herr@...r.at>,
Richard Sandiford <rdsandiford@...glemail.com>,
Patrik Kluba <kpajko79@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
Michal Simek <monstr@...str.eu>
Subject: Re: [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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists