Thread (23 messages) 23 messages, 4 authors, 2020-01-31

Re: [PATCH v4 07/12] tracing: Add synth_event_trace() and related functions

From: Tom Zanussi <zanussi@kernel.org>
Date: 2020-01-29 22:58:47
Also in: lkml

Hi Steve,

On Wed, 2020-01-29 at 16:09 -0500, Steven Rostedt wrote:
On Wed, 29 Jan 2020 12:59:27 -0600
Tom Zanussi [off-list ref] wrote:
quoted
+static struct synth_field *find_synth_field(struct synth_event
*event,
+					    const char
*field_name)
+{
+	struct synth_field *field = NULL;
+	unsigned int i;
+
+	for (i = 0; i < event->n_fields; i++) {
+		field = event->fields[i];
+		if (strcmp(field->name, field_name) == 0)
+			return field;
+	}
+
+	return NULL;
+}
Why duplicate all theses functions and not use them in the
synth_event_trace() directly?
Yes, find_synth_field() is used only once and is short, so I can just
add that into synth_event_add_val() directly.  And looking at
synth_event_add_val() and synth_event_add_next_val(), they're almost
identical and so can be made into a single function with a param for
the different parts (but still need to be exported separately so they
can be used with the piecewise API).

It would also be possible to have synth_event_trace() and
synth_event_trace_array() use synth_event_add_next_val() instead of
writing the fields directly but that would be more overhead for those
functions, which is why I avoided doing that.

Let me know if it's something else you're referring to, or if you want
me to do a v5 or a follow-on patch to do the first part above.

Thanks,

Tom
-- Steve
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help