• 王贇's avatar
    ftrace: disable preemption when recursion locked · ce5e4803
    王贇 authored
    As the documentation explained, ftrace_test_recursion_trylock()
    and ftrace_test_recursion_unlock() were supposed to disable and
    enable preemption properly, however currently this work is done
    outside of the function, which could be missing by mistake.
    
    And since the internal using of trace_test_and_set_recursion()
    and trace_clear_recursion() also require preemption disabled, we
    can just merge the logical.
    
    This patch will make sure the preemption has been disabled when
    trace_test_and_set_recursion() return bit >= 0, and
    trace_clear_recursion() will enable the preemption if previously
    enabled.
    
    Link: https://lkml.kernel.org/r/13bde807-779c-aa4c-0672-20515ae365ea@linux.alibaba.com
    
    CC: Petr Mladek <pmladek@suse.com>
    Cc: Guo Ren <guoren@kernel.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
    Cc: Helge Deller <deller@gmx.de>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Paul Walmsley <paul.walmsley@sifive.com>
    Cc: Palmer Dabbelt <palmer@dabbelt.com>
    Cc: Albert Ou <aou@eecs.berkeley.edu>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Jiri Kosina <jikos@kernel.org>
    Cc: Joe Lawrence <joe.lawrence@redhat.com>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Jisheng Zhang <jszhang@kernel.org>
    CC: Steven Rostedt <rostedt@goodmis.org>
    CC: Miroslav Benes <mbenes@suse.cz>
    Reported-by: default avatarAbaci <abaci@linux.alibaba.com>
    Suggested-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Signed-off-by: default avatarMichael Wang <yun.wang@linux.alibaba.com>
    [ Removed extra line in comment - SDR ]
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    ce5e4803
ftrace.c 5.58 KB