• Steven Rostedt (Google)'s avatar
    tracing: Add a way to filter function addresses to function names · e6745a4d
    Steven Rostedt (Google) authored
    There's been several times where an event records a function address in
    its field and I needed to filter on that address for a specific function
    name. It required looking up the function in kallsyms, finding its size,
    and doing a compare of "field >= function_start && field < function_end".
    
    But this would change from boot to boot and is unreliable in scripts.
    Also, it is useful to have this at boot up, where the addresses will not
    be known. For example, on the boot command line:
    
      trace_trigger="initcall_finish.traceoff if func.function == acpi_init"
    
    To implement this, add a ".function" prefix, that will check that the
    field is of size long, and the only operations allowed (so far) are "=="
    and "!=".
    
    Link: https://lkml.kernel.org/r/20221219183213.916833763@goodmis.org
    
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Tom Zanussi <zanussi@kernel.org>
    Cc: Zheng Yejian <zhengyejian1@huawei.com>
    Reviewed-by: default avatarRoss Zwisler <zwisler@google.com>
    Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    e6745a4d
events.rst 40.4 KB