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: masami.hiramatsu...@hitachi.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/