Re: [PATCH] tracing: Have synthetic event test use raw_smp_processor_id()

From: Tom Zanussi
Date: Thu Feb 20 2020 - 17:14:45 EST


Hi Steve,

On Thu, 2020-02-20 at 16:29 -0500, Steven Rostedt wrote:
> From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>
>
> The test code that tests synthetic event creation pushes in as one of
> its
> test fields the current CPU using "smp_processor_id()". As this is
> just
> something to see if the value is correctly passed in, and the actual
> CPU
> used does not matter, use raw_smp_processor_id(), otherwise with
> debug
> preemption enabled, a warning happens as the smp_processor_id() is
> called
> without preemption enabled.
>
> Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>

Makes sense - I guess it's simpler than Masami's and fine for this
purpose.

Reviewed-by: Tom Zanussi <zanussi@xxxxxxxxxx>

Thanks,

Tom

> ---
> kernel/trace/synth_event_gen_test.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/kernel/trace/synth_event_gen_test.c
> b/kernel/trace/synth_event_gen_test.c
> index 6866280a9b10..7d56d621ffea 100644
> --- a/kernel/trace/synth_event_gen_test.c
> +++ b/kernel/trace/synth_event_gen_test.c
> @@ -114,7 +114,7 @@ static int __init test_gen_synth_cmd(void)
> vals[1] = (u64)(long)"hula hoops"; /* next_comm_field
> */
> vals[2] = 1000000; /* ts_ns */
> vals[3] = 1000; /* ts_ms */
> - vals[4] = smp_processor_id(); /* cpu */
> + vals[4] = raw_smp_processor_id(); /* cpu */
> vals[5] = (u64)(long)"thneed"; /* my_string_field */
> vals[6] = 598; /* my_int_field */
>
> @@ -221,7 +221,7 @@ static int __init test_empty_synth_event(void)
> vals[1] = (u64)(long)"tiddlywinks"; /*
> next_comm_field */
> vals[2] = 1000000; /* ts_ns */
> vals[3] = 1000; /* ts_ms */
> - vals[4] = smp_processor_id(); /* cpu */
> + vals[4] = raw_smp_processor_id(); /* cpu */
> vals[5] = (u64)(long)"thneed_2.0"; /* my_string_field
> */
> vals[6] = 399; /* my_int_field */
>
> @@ -293,7 +293,7 @@ static int __init test_create_synth_event(void)
> vals[1] = (u64)(long)"tiddlywinks"; /*
> next_comm_field */
> vals[2] = 1000000; /* ts_ns */
> vals[3] = 1000; /* ts_ms */
> - vals[4] = smp_processor_id(); /* cpu */
> + vals[4] = raw_smp_processor_id(); /* cpu */
> vals[5] = (u64)(long)"thneed"; /* my_string_field */
> vals[6] = 398; /* my_int_field */
>
> @@ -345,7 +345,7 @@ static int __init test_add_next_synth_val(void)
> goto out;
>
> /* cpu */
> - ret = synth_event_add_next_val(smp_processor_id(),
> &trace_state);
> + ret = synth_event_add_next_val(raw_smp_processor_id(),
> &trace_state);
> if (ret)
> goto out;
>
> @@ -388,7 +388,7 @@ static int __init test_add_synth_val(void)
> if (ret)
> goto out;
>
> - ret = synth_event_add_val("cpu", smp_processor_id(),
> &trace_state);
> + ret = synth_event_add_val("cpu", raw_smp_processor_id(),
> &trace_state);
> if (ret)
> goto out;
>
> @@ -427,7 +427,7 @@ static int __init test_trace_synth_event(void)
> (u64)(long)"clackers", /*
> next_comm_field */
> (u64)1000000, /*
> ts_ns */
> (u64)1000, /* ts_ms
> */
> - (u64)smp_processor_id(),/* cpu */
> + (u64)raw_smp_processor_id(), /* cpu
> */
> (u64)(long)"Thneed", /*
> my_string_field */
> (u64)999); /*
> my_int_field */
> return ret;