Messages in this thread | | | Date | Tue, 30 Nov 2021 13:40:53 +0900 | From | Masami Hiramatsu <> | Subject | Re: [PATCH 5/5] tracing/uprobes: Use trace_event_buffer_reserve() helper |
| |
On Mon, 29 Nov 2021 21:39:50 -0500 Steven Rostedt <rostedt@goodmis.org> wrote:
> From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> > > To be consistent with kprobes and eprobes, use > trace_event_buffer_reserver() and trace_event_buffer_commit(). This will > ensure that any updates to trace events will also be implemented on uprobe > events. >
Ah, event_trigger_unlock_commit() is the pair commit function. I got it. Anyway, the pair of trace_event_buffer_reserve() and trace_event_buffer_commit() should be used.
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Thank you,
> Cc: Masami Hiramatsu <mhiramat@kernel.org> > Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> > --- > kernel/trace/trace_uprobe.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c > index f5f0039d31e5..177717c4e74a 100644 > --- a/kernel/trace/trace_uprobe.c > +++ b/kernel/trace/trace_uprobe.c > @@ -949,8 +949,8 @@ static void __uprobe_trace_func(struct trace_uprobe *tu, > struct trace_event_file *trace_file) > { > struct uprobe_trace_entry_head *entry; > + struct trace_event_buffer fbuffer; > struct trace_buffer *buffer; > - struct ring_buffer_event *event; > void *data; > int size, esize; > struct trace_event_call *call = trace_probe_event_call(&tu->tp); > @@ -965,12 +965,10 @@ static void __uprobe_trace_func(struct trace_uprobe *tu, > > esize = SIZEOF_TRACE_ENTRY(is_ret_probe(tu)); > size = esize + tu->tp.size + dsize; > - event = trace_event_buffer_lock_reserve(&buffer, trace_file, > - call->event.type, size, 0); > - if (!event) > + entry = trace_event_buffer_reserve(&fbuffer, trace_file, size); > + if (!entry) > return; > > - entry = ring_buffer_event_data(event); > if (is_ret_probe(tu)) { > entry->vaddr[0] = func; > entry->vaddr[1] = instruction_pointer(regs); > @@ -982,7 +980,7 @@ static void __uprobe_trace_func(struct trace_uprobe *tu, > > memcpy(data, ucb->buf, tu->tp.size + dsize); > > - event_trigger_unlock_commit(trace_file, buffer, event, entry, 0); > + trace_event_buffer_commit(&fbuffer); > } > > /* uprobe handler */ > -- > 2.33.0
-- Masami Hiramatsu <mhiramat@kernel.org>
| |