x86,ftrace: Shrink ftrace_regs_caller() by one byte
authorPeter Zijlstra <peterz@infradead.org>
Wed, 1 Apr 2020 14:51:11 +0000 (16:51 +0200)
committerIngo Molnar <mingo@kernel.org>
Wed, 22 Apr 2020 08:53:50 +0000 (10:53 +0200)
'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>
Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lkml.kernel.org/r/20200416115118.867411350@infradead.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/ftrace_64.S

index be9aff2..9738ed2 100644 (file)
@@ -240,8 +240,8 @@ SYM_INNER_LABEL(ftrace_regs_call, SYM_L_GLOBAL)
         * See arch_ftrace_set_direct_caller().
         */
        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