• Yipeng Zou's avatar
    tracing: hold caller_addr to hardirq_{enable,disable}_ip · 54c39319
    Yipeng Zou authored
    Currently, The arguments passing to lockdep_hardirqs_{on,off} was fixed
    in CALLER_ADDR0.
    The function trace_hardirqs_on_caller should have been intended to use
    caller_addr to represent the address that caller wants to be traced.
    
    For example, lockdep log in riscv showing the last {enabled,disabled} at
    __trace_hardirqs_{on,off} all the time(if called by):
    [   57.853175] hardirqs last  enabled at (2519): __trace_hardirqs_on+0xc/0x14
    [   57.853848] hardirqs last disabled at (2520): __trace_hardirqs_off+0xc/0x14
    
    After use trace_hardirqs_xx_caller, we can get more effective information:
    [   53.781428] hardirqs last  enabled at (2595): restore_all+0xe/0x66
    [   53.782185] hardirqs last disabled at (2596): ret_from_exception+0xa/0x10
    
    Link: https://lkml.kernel.org/r/20220901104515.135162-2-zouyipeng@huawei.com
    
    Cc: stable@vger.kernel.org
    Fixes: c3bc8fd6 ("tracing: Centralize preemptirq tracepoints and unify their usage")
    Signed-off-by: default avatarYipeng Zou <zouyipeng@huawei.com>
    Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    54c39319
trace_preemptirq.c 3.56 KB