Messages in this thread Patch in this message | | | Date | Tue, 31 Mar 2020 18:06:39 +0200 | From | Peter Zijlstra <> | Subject | [RFC][PATCH] x86,ftrace: Shrink ftrace_regs_caller() by one byte |
| |
On Tue, Mar 31, 2020 at 11:31:36AM -0400, Steven Rostedt wrote: > On Tue, 31 Mar 2020 13:16:52 +0200 > Peter Zijlstra <peterz@infradead.org> wrote: > > > @@ -235,8 +237,8 @@ SYM_INNER_LABEL(ftrace_regs_call, SYM_L_GLOBAL) > > > > /* If ORIG_RAX is anything but zero, make this a call to that */ > > movq ORIG_RAX(%rsp), %rax > > - cmpq $0, %rax > > - je 1f > > + testq %rax, %rax > > + jz 1f > > > > /* Swap the flags with orig_rax */ > > movq MCOUNT_REG_SIZE(%rsp), %rdi > > Hi Peter, > > Can you send this change as a separate patch as it has nothing to do with > this current change, and is a clean up patch that stands on its own.
Sure. But then I have to like write a Changelog for it... :/
--- Subject: x86,ftrace: Shrink ftrace_regs_caller() by one byte
'Optimize' ftrace_regs_caller. Instead of comparing against an immediate, the more natural way to test for zero on x86 is: 'test %r,%r'.
48 83 f8 00 cmp $0x0,%rax 74 49 je 226 <ftrace_regs_call+0xa3>
48 85 c0 test %rax,%rax 74 49 je 225 <ftrace_regs_call+0xa2>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> --- arch/x86/kernel/ftrace_64.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/ftrace_64.S b/arch/x86/kernel/ftrace_64.S index 369e61faacfe..8e71c492d623 100644 --- a/arch/x86/kernel/ftrace_64.S +++ b/arch/x86/kernel/ftrace_64.S @@ -235,8 +235,8 @@ SYM_INNER_LABEL(ftrace_regs_call, SYM_L_GLOBAL) /* If ORIG_RAX is anything but zero, make this a call to that */ movq ORIG_RAX(%rsp), %rax - cmpq $0, %rax - je 1f + testq %rax, %rax + jz 1f /* Swap the flags with orig_rax */ movq MCOUNT_REG_SIZE(%rsp), %rdi
| |