Re: [PATCH v9 01/12] user_events: Add minimal support for trace_event into ftrace

From: Masami Hiramatsu
Date: Mon Jan 17 2022 - 10:45:31 EST


Hi Beau,

On Tue, 11 Jan 2022 09:25:51 -0800
Beau Belgrave <beaub@xxxxxxxxxxxxxxxxxxx> wrote:

> +static int user_event_show(struct seq_file *m, struct dyn_event *ev)
> +{
> + struct user_event *user = container_of(ev, struct user_event, devent);
> + struct ftrace_event_field *field, *next;
> + struct list_head *head;
> + int depth = 0;
> +
> + seq_printf(m, "%s%s", USER_EVENTS_PREFIX, EVENT_NAME(user));
> +
> + head = trace_get_fields(&user->call);
> +
> + list_for_each_entry_safe_reverse(field, next, head, link) {
> + if (depth == 0)
> + seq_puts(m, " ");
> + else
> + seq_puts(m, "; ");
> + seq_printf(m, "%s %s", field->type, field->name);
> + depth++;
> + }
> +
> + seq_puts(m, "\n");
> +
> + return 0;
> +}

Let me confirm just one point. Your syntax supports

[__data_loc|__rel_loc] [unsigned] TYPE[\[LEN\]] NAME

or

struct TYPE NAME SIZE

for the fields, right? In that case, above seq_printf() seems not enough.

Thank you,


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>