[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200212122415.6dd7d33c19d1eeddae0ccfb8@kernel.org>
Date: Wed, 12 Feb 2020 12:24:15 +0900
From: Masami Hiramatsu <mhiramat@...nel.org>
To: Tom Zanussi <zanussi@...nel.org>
Cc: rostedt@...dmis.org, artem.bityutskiy@...ux.intel.com,
mhiramat@...nel.org, linux-kernel@...r.kernel.org,
linux-rt-users@...r.kernel.org
Subject: Re: [PATCH 2/3] tracing: Don't return -EINVAL when tracing soft
disabled synth events
On Mon, 10 Feb 2020 17:06:49 -0600
Tom Zanussi <zanussi@...nel.org> wrote:
> There's no reason to return -EINVAL when tracing a synthetic event if
> it's soft disabled - treat it the same as if it were hard disabled and
> return normally.
>
> Have synth_event_trace() and synth_event_trace_array() just return
> normally, and have synth_event_trace_start set the trace state to
> disabled and return.
>
Looks good to me.
Reviewed-by: Masami Hiramatsu <mhiramat@...nel.org>
Thanks,
> Signed-off-by: Tom Zanussi <zanussi@...nel.org>
> ---
> kernel/trace/trace_events_hist.c | 20 ++++++--------------
> 1 file changed, 6 insertions(+), 14 deletions(-)
>
> diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
> index a546ffa14785..99a02168599b 100644
> --- a/kernel/trace/trace_events_hist.c
> +++ b/kernel/trace/trace_events_hist.c
> @@ -1828,7 +1828,8 @@ int synth_event_trace(struct trace_event_file *file, unsigned int n_vals, ...)
> * called directly by the user, we don't have that but we
> * still need to honor not logging when disabled.
> */
> - if (!(file->flags & EVENT_FILE_FL_ENABLED))
> + if (!(file->flags & EVENT_FILE_FL_ENABLED) ||
> + trace_trigger_soft_disabled(file))
> return 0;
>
> event = file->event_call->data;
> @@ -1836,9 +1837,6 @@ int synth_event_trace(struct trace_event_file *file, unsigned int n_vals, ...)
> if (n_vals != event->n_fields)
> return -EINVAL;
>
> - if (trace_trigger_soft_disabled(file))
> - return -EINVAL;
> -
> fields_size = event->n_u64 * sizeof(u64);
>
> /*
> @@ -1918,7 +1916,8 @@ int synth_event_trace_array(struct trace_event_file *file, u64 *vals,
> * called directly by the user, we don't have that but we
> * still need to honor not logging when disabled.
> */
> - if (!(file->flags & EVENT_FILE_FL_ENABLED))
> + if (!(file->flags & EVENT_FILE_FL_ENABLED) ||
> + trace_trigger_soft_disabled(file))
> return 0;
>
> event = file->event_call->data;
> @@ -1926,9 +1925,6 @@ int synth_event_trace_array(struct trace_event_file *file, u64 *vals,
> if (n_vals != event->n_fields)
> return -EINVAL;
>
> - if (trace_trigger_soft_disabled(file))
> - return -EINVAL;
> -
> fields_size = event->n_u64 * sizeof(u64);
>
> /*
> @@ -2017,7 +2013,8 @@ int synth_event_trace_start(struct trace_event_file *file,
> * trace case, we save the enabed state upon start and just
> * ignore the following data calls.
> */
> - if (!(file->flags & EVENT_FILE_FL_ENABLED)) {
> + if (!(file->flags & EVENT_FILE_FL_ENABLED) ||
> + trace_trigger_soft_disabled(file)) {
> trace_state->enabled = false;
> goto out;
> }
> @@ -2026,11 +2023,6 @@ int synth_event_trace_start(struct trace_event_file *file,
>
> trace_state->event = file->event_call->data;
>
> - if (trace_trigger_soft_disabled(file)) {
> - ret = -EINVAL;
> - goto out;
> - }
> -
> fields_size = trace_state->event->n_u64 * sizeof(u64);
>
> /*
> --
> 2.14.1
>
--
Masami Hiramatsu <mhiramat@...nel.org>
Powered by blists - more mailing lists