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]

 



Hi,

On Tue, 2009-11-10 at 08:43 -0800, David Daney 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.
> 

so much drop? seems only two instructions added for it: lui, addi. from
this view point, I think the -fno-omit-frame-pointer(add, sd, move...)
will also bring with much drop.

It's time to remove them? -mlong-calls, -fno-omit-frame-pointer.

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

It's totally possible, will try to make it work later. I just wanted the
stuff simple, but if it really brings us with much drop, it's time to
fix it.

Regards,
	Wu Zhangjin



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

  Powered by Linux