lkml.org 
[lkml]   [2022]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH v2 2/8] trace: Add trace_ipi_send_cpumask()
    Date
    trace_ipi_raise() is unsuitable for generically tracing IPI sources due to
    its "reason" argument being an uninformative string (on arm64 all you get
    is "Function call interrupts" for SMP calls).

    Add a variant of it that takes a exports a target CPU, a callsite and a
    callback.

    Signed-off-by: Valentin Schneider <vschneid@redhat.com>
    ---
    include/trace/events/ipi.h | 22 ++++++++++++++++++++++
    1 file changed, 22 insertions(+)

    diff --git a/include/trace/events/ipi.h b/include/trace/events/ipi.h
    index 0be71dad6ec03..b1125dc27682c 100644
    --- a/include/trace/events/ipi.h
    +++ b/include/trace/events/ipi.h
    @@ -35,6 +35,28 @@ TRACE_EVENT(ipi_raise,
    TP_printk("target_mask=%s (%s)", __get_bitmask(target_cpus), __entry->reason)
    );

    +TRACE_EVENT(ipi_send_cpumask,
    +
    + TP_PROTO(const struct cpumask *cpumask, unsigned long callsite, void *callback),
    +
    + TP_ARGS(cpumask, callsite, callback),
    +
    + TP_STRUCT__entry(
    + __cpumask(cpumask)
    + __field(void *, callsite)
    + __field(void *, callback)
    + ),
    +
    + TP_fast_assign(
    + __assign_cpumask(cpumask, cpumask_bits(cpumask));
    + __entry->callsite = (void *)callsite;
    + __entry->callback = callback;
    + ),
    +
    + TP_printk("cpumask=%s callsite=%pS callback=%pS",
    + __get_cpumask(cpumask), __entry->callsite, __entry->callback)
    +);
    +
    DECLARE_EVENT_CLASS(ipi_handler,

    TP_PROTO(const char *reason),
    --
    2.31.1
    \
     
     \ /
      Last update: 2022-11-02 19:36    [W:2.638 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site