RE: [PATCH] irq_work: Add event-tracing points for irq_work

From: Zhang, Qiang1
Date: Thu Apr 14 2022 - 23:02:55 EST



On Thu, Apr 14 2022 at 14:38, Zqiang wrote:
> +#define CREATE_TRACE_POINTS
> +#include <trace/events/irq_work.h>
> +
> static DEFINE_PER_CPU(struct llist_head, raised_list); static
> DEFINE_PER_CPU(struct llist_head, lazy_list); static
> DEFINE_PER_CPU(struct task_struct *, irq_workd); @@ -81,7 +84,9 @@
> static void __irq_work_queue_local(struct irq_work *work)
> bool rt_lazy_work = false;
> bool lazy_work = false;
> int work_flags;
> + int cpu = smp_processor_id();
>
> + trace_irq_work_queue_on(cpu, work);

>What about work_flags to see on which list this ends up?

The tracepoint have been record 'work->node.a_flags' through check it to sure
this irq-wrok is queued on which list

Thanks
Zqiang

>Thanks,
>
> tglx