On 2015/06/02 1:32, Eugene Shatokhin wrote:
> Kprobes' "boost" feature allows to avoid single-stepping in some cases, along
> with its overhead.
> It is useful for the Kprobes that cannot be optimized for some reason.
>
> Currently, "boost" cannot be applied to the instructions of 10 and 11 bytes
> in size, including
> some rather commonly used kinds of MOV.
>
> The first of the two patches in this series fixes the code that checks if the
> jump needed for
> the boost fits in the insn slot (the conditional is too strict). This allows
> to apply "boost"
> to 10-byte instructions.
>
> As a side effect of commit 91e5ed49fca0 ("x86/asm/decoder: Fix and enforce
> max instruction
> size in the insn decoder"), the size of the instruction slot became 1 byte
> smaller, 15 bytes
> VS 16 bytes before that change. The second patch makes the size of each insn
> slot 16 bytes
> again (while keeping MAX_INSN_SIZE as 15). This allows to apply "boost" to
> 11-byte
> instructions as well.
>
> I have checked that "boost" does happen for at least "movq $0x1,0x100(%rbx)"
> (48 c7 83 00 01 00 00 01 00 00 00) in the kernel 4.1-rc6 after these changes.
Ah, I didn't expected that such long instruction existed without redundant
prefixes.
I have some comment on that, but basically agree to support this.
Thank you!
--
Masami HIRAMATSU
Linux Technology Research Center, System Productivity Research Dept.
Center for Technology Innovation - Systems Engineering
Hitachi, Ltd., Research & Development Group
E-mail: [email protected]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/