Re: [PATCH 7/9] tracing: MIPS: Reduce the overhead of dynamic Function Tracer

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

 



On 05/14/2010 07:43 PM, Wu Zhangjin wrote:
On Fri, 2010-05-14 at 10:15 -0700, David Daney wrote:
On 05/14/2010 04:08 AM, Wu Zhangjin wrote:
From: Wu Zhangjin<wuzhangjin@xxxxxxxxx>

With the help of uasm, this patch encodes the instructions of dynamic
Function Tracer in ftrace_dyn_arch_init() when initializing it.

[...]
+#include<asm/uasm.h>

All of uasm is _cpuinit, I haven't checked everything, but are you sure
you aren't calling if from non-_cpuinit code?
The calling tree looks like this:

start_kernel()  // __init
   -->  ftrace_init()  // __init
         -->  ftrace_dyn_arch_init() // __init
               -->  ftrace_dyn_arch_init_insns() // inline
	            -->  uasm_*/UASM_*

Nobody else will call uasm_*/UASM_* in this patch, I have checked the
uasm usage in arch/mips/kernel/traps.c. Seems the usam functions are
also called in the __init *set_except_vector(). so, it will also be safe
in this patch, is it?


Yes, that seems good to me. I just wanted to make sure that this wasn't being called from non-init 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