From: Ananth N Mavinakayanahalli <hidden> Date: 2015-07-16 10:57:31
Kprobes uses a breakpoint instruction to trap into execution flow
and the probed instruction is single-stepped from an alternate location.
On some architectures like x86, under certain conditions, the OPTPROBES
feature enables replacing the probed instruction with a jump instead,
resulting in a significant perfomance boost (one single-step exception
is bypassed for each kprobe).
Powerpc has an in-kernel instruction emulator. Kprobes on powerpc uses
this emulator already and bypasses the single-step exception, with a
lot less complexity.
Hence, mark OPTPROBES n/a for powerpc.
Signed-off-by: Ananth N Mavinakayanahalli <redacted>
---
.../features/debug/optprobes/arch-support.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
On 2015/07/16 19:56, Ananth N Mavinakayanahalli wrote:
Kprobes uses a breakpoint instruction to trap into execution flow
and the probed instruction is single-stepped from an alternate location.
On some architectures like x86, under certain conditions, the OPTPROBES
feature enables replacing the probed instruction with a jump instead,
resulting in a significant perfomance boost (one single-step exception
is bypassed for each kprobe).
The OPTPROBE is not only for bypassing the single-step exception, but also
the breakpoint exception.
Please see commit 0dc016dbd820260b (ARM: kprobes: enable OPTPROBES for ARM 32) too,
which shows how it is done on RISC processor.
Powerpc has an in-kernel instruction emulator. Kprobes on powerpc uses
this emulator already and bypasses the single-step exception, with a
lot less complexity.
So, this might miss the point. Since it is impossible to do on some RISC
processor, I agree with this change, but it should be committed with
correct comments.
Thank you,
quoted hunk
Hence, mark OPTPROBES n/a for powerpc.
Signed-off-by: Ananth N Mavinakayanahalli <redacted>
---
.../features/debug/optprobes/arch-support.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -27,7 +27,7 @@ | nios2: | TODO | | openrisc: | TODO | | parisc: | TODO |- | powerpc: | TODO |+ | powerpc: | n/a | | s390: | TODO | | score: | TODO | | sh: | TODO |
--
Masami HIRAMATSU
Linux Technology Research Center, System Productivity Research Dept.
Center for Technology Innovation - Systems Engineering
Hitachi, Ltd., Research & Development Group
E-mail: masami.hiramatsu.pt@hitachi.com
From: Ananth N Mavinakayanahalli <hidden> Date: 2015-07-20 10:39:34
On Sun, Jul 19, 2015 at 11:21:50AM +0900, Masami Hiramatsu wrote:
On 2015/07/16 19:56, Ananth N Mavinakayanahalli wrote:
quoted
Kprobes uses a breakpoint instruction to trap into execution flow
and the probed instruction is single-stepped from an alternate location.
On some architectures like x86, under certain conditions, the OPTPROBES
feature enables replacing the probed instruction with a jump instead,
resulting in a significant perfomance boost (one single-step exception
is bypassed for each kprobe).
The OPTPROBE is not only for bypassing the single-step exception, but also
the breakpoint exception.
Please see commit 0dc016dbd820260b (ARM: kprobes: enable OPTPROBES for ARM 32) too,
which shows how it is done on RISC processor.
Yes, will fix and send.
quoted
Powerpc has an in-kernel instruction emulator. Kprobes on powerpc uses
this emulator already and bypasses the single-step exception, with a
lot less complexity.
So, this might miss the point. Since it is impossible to do on some RISC
processor, I agree with this change, but it should be committed with
correct comments.
From: Michael Ellerman <mpe@ellerman.id.au> Date: 2015-07-21 02:53:07
On Sun, 2015-07-19 at 11:21 +0900, Masami Hiramatsu wrote:
On 2015/07/16 19:56, Ananth N Mavinakayanahalli wrote:
quoted
Kprobes uses a breakpoint instruction to trap into execution flow
and the probed instruction is single-stepped from an alternate location.
On some architectures like x86, under certain conditions, the OPTPROBES
feature enables replacing the probed instruction with a jump instead,
resulting in a significant perfomance boost (one single-step exception
is bypassed for each kprobe).
The OPTPROBE is not only for bypassing the single-step exception, but also
the breakpoint exception.
Please see commit 0dc016dbd820260b (ARM: kprobes: enable OPTPROBES for ARM 32) too,
which shows how it is done on RISC processor.
quoted
Powerpc has an in-kernel instruction emulator. Kprobes on powerpc uses
this emulator already and bypasses the single-step exception, with a
lot less complexity.
So, this might miss the point. Since it is impossible to do on some RISC
processor, I agree with this change, but it should be committed with
correct comments.
I don't think it's impossible on powerpc.
So we should leave it as a TODO for now.
cheers
From: Ananth N Mavinakayanahalli <hidden> Date: 2015-07-21 04:35:02
On Tue, Jul 21, 2015 at 12:53:07PM +1000, Michael Ellerman wrote:
On Sun, 2015-07-19 at 11:21 +0900, Masami Hiramatsu wrote:
quoted
On 2015/07/16 19:56, Ananth N Mavinakayanahalli wrote:
quoted
Kprobes uses a breakpoint instruction to trap into execution flow
and the probed instruction is single-stepped from an alternate location.
On some architectures like x86, under certain conditions, the OPTPROBES
feature enables replacing the probed instruction with a jump instead,
resulting in a significant perfomance boost (one single-step exception
is bypassed for each kprobe).
The OPTPROBE is not only for bypassing the single-step exception, but also
the breakpoint exception.
Please see commit 0dc016dbd820260b (ARM: kprobes: enable OPTPROBES for ARM 32) too,
which shows how it is done on RISC processor.
quoted
Powerpc has an in-kernel instruction emulator. Kprobes on powerpc uses
this emulator already and bypasses the single-step exception, with a
lot less complexity.
So, this might miss the point. Since it is impossible to do on some RISC
processor, I agree with this change, but it should be committed with
correct comments.
I don't think it's impossible on powerpc.
So we should leave it as a TODO for now.
On 2015/07/21 13:34, Ananth N Mavinakayanahalli wrote:
On Tue, Jul 21, 2015 at 12:53:07PM +1000, Michael Ellerman wrote:
quoted
On Sun, 2015-07-19 at 11:21 +0900, Masami Hiramatsu wrote:
quoted
On 2015/07/16 19:56, Ananth N Mavinakayanahalli wrote:
quoted
Kprobes uses a breakpoint instruction to trap into execution flow
and the probed instruction is single-stepped from an alternate location.
On some architectures like x86, under certain conditions, the OPTPROBES
feature enables replacing the probed instruction with a jump instead,
resulting in a significant perfomance boost (one single-step exception
is bypassed for each kprobe).
The OPTPROBE is not only for bypassing the single-step exception, but also
the breakpoint exception.
Please see commit 0dc016dbd820260b (ARM: kprobes: enable OPTPROBES for ARM 32) too,
which shows how it is done on RISC processor.
quoted
Powerpc has an in-kernel instruction emulator. Kprobes on powerpc uses
this emulator already and bypasses the single-step exception, with a
lot less complexity.
So, this might miss the point. Since it is impossible to do on some RISC
processor, I agree with this change, but it should be committed with
correct comments.
I don't think it's impossible on powerpc.
So we should leave it as a TODO for now.
OK. I put it on my TODO list.
I see, thanks Ananth! :)
--
Masami HIRAMATSU
Linux Technology Research Center, System Productivity Research Dept.
Center for Technology Innovation - Systems Engineering
Hitachi, Ltd., Research & Development Group
E-mail: masami.hiramatsu.pt@hitachi.com