[v4,1/2] arch/powerpc: Implement Optprobes
Anju T Sudhakar
anju at linux.vnet.ibm.com
Wed Feb 15 16:14:18 AEDT 2017
Thank You Michael. :)
On Tuesday 14 February 2017 06:10 PM, Michael Ellerman wrote:
> On Wed, 2017-02-08 at 09:50:51 UTC, Anju T wrote:
>> Current infrastructure of kprobe uses the unconditional trap instruction
>> to probe a running kernel. Optprobe allows kprobe to replace the trap with
>> a branch instruction to a detour buffer. Detour buffer contains instructions
>> to create an in memory pt_regs. Detour buffer also has a call to
>> optimized_callback() which in turn call the pre_handler().
>> After the execution of the pre-handler, a call is made for instruction
>> emulation. The NIP is determined in advanced through dummy instruction
>> emulation and a branch instruction is created to the NIP at the end of
>> the trampoline.
>> To address the limitation of branch instruction in POWER architecture,
>> detour buffer slot is allocated from a reserved area. For the time being,
>> 64KB is reserved in memory for this purpose.
>> Instructions which can be emulated using analyse_instr() are the candidates
>> for optimization. Before optimization ensure that the address range
>> between the detour buffer allocated and the instruction being probed
>> is within +/- 32MB.
>> Signed-off-by: Anju T Sudhakar <anju at linux.vnet.ibm.com>
>> Signed-off-by: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>
>> Acked-by: Masami Hiramatsu <mhiramat at kernel.org>
> Series applied to powerpc next, thanks.
More information about the Linuxppc-dev