On Thu,  7 Nov 2024 13:25:47 +0100
Marco Elver <[email protected]> wrote:

> +/**
> + * task_prctl_unknown - called on unknown prctl() option
> + * @task:    pointer to the current task
> + * @option:  option passed
> + * @arg2:    arg2 passed
> + * @arg3:    arg3 passed
> + * @arg4:    arg4 passed
> + * @arg5:    arg5 passed
> + *
> + * Called on an unknown prctl() option.
> + */
> +TRACE_EVENT(task_prctl_unknown,
> +
> +     TP_PROTO(struct task_struct *task, int option, unsigned long arg2, 
> unsigned long arg3,
> +              unsigned long arg4, unsigned long arg5),
> +
> +     TP_ARGS(task, option, arg2, arg3, arg4, arg5),
> +
> +     TP_STRUCT__entry(
> +             __string(       comm,           task->comm      )

The question is, do we really need comm? From your example, it's redundant:

  test-484     [000] .....   631.748104: task_prctl_unknown: comm=test 
option=1234 arg2=101 arg3=102 arg4=103 arg5=104
  ^^^^                                                            ^^^^

-- Steve


> +             __field(        int,            option)
> +             __field(        unsigned long,  arg2)
> +             __field(        unsigned long,  arg3)
> +             __field(        unsigned long,  arg4)
> +             __field(        unsigned long,  arg5)
> +     ),
> +
> +     TP_fast_assign(
> +             __assign_str(comm);
> +             __entry->option = option;
> +             __entry->arg2 = arg2;
> +             __entry->arg3 = arg3;
> +             __entry->arg4 = arg4;
> +             __entry->arg5 = arg5;
> +     ),
> +
> +     TP_printk("comm=%s option=%d arg2=%ld arg3=%ld arg4=%ld arg5=%ld",
> +               __get_str(comm), __entry->option,
> +               __entry->arg2, __entry->arg3, __entry->arg4, __entry->arg5)
> +);
> +

Reply via email to