Re: [PATCH v3 11/12] tracing: guard tracing_selftest_disabled byCONFIG_FTRACE_STARTUP_TEST

From: zhangwei(Jovi)
Date: Wed Jul 03 2013 - 00:13:21 EST


On 2013/7/3 7:56, Steven Rostedt wrote:
> On Wed, 2013-04-10 at 11:26 +0800, zhangwei(Jovi) wrote:
>> From: "zhangwei(Jovi)" <jovi.zhangwei@xxxxxxxxxx>
>>
>> Variable tracing_selftest_disabled have not any sense when
>> CONFIG_FTRACE_STARTUP_TEST is disabled.
>>
>> This patch also remove __read_mostly attribute, since variable
>> tracing_selftest_disabled really not read mostly.
>
> Yes it is mostly read only. Sure, it's not read much, but it is also
> only written to once. That makes it, "read mostly".
>
> -- Steve
>
Ok, we can leave the __read_mostly attribute.

And tracing_selftest_disabled still can move to CONFIG_FTRACE_STARTUP_TEST
guard, normally CONFIG_FTRACE_STARTUP_TEST is disabled in most system.

Do I need to resend this patch?

jovi

>>
>> Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@xxxxxxxxxx>
>> ---
>> kernel/trace/trace.c | 6 ++++--
>> kernel/trace/trace.h | 2 +-
>> kernel/trace/trace_events.c | 2 ++
>> 3 files changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
>> index ee4e110..09a3aa8 100644
>> --- a/kernel/trace/trace.c
>> +++ b/kernel/trace/trace.c
>> @@ -58,10 +58,12 @@ bool ring_buffer_expanded;
>> */
>> static bool __read_mostly tracing_selftest_running;
>>
>> +#ifdef CONFIG_FTRACE_STARTUP_TEST
>> /*
>> * If a tracer is running, we do not want to run SELFTEST.
>> */
>> -bool __read_mostly tracing_selftest_disabled;
>> +bool tracing_selftest_disabled;
>> +#endif
>>
>> /* For tracers that don't implement custom flags */
>> static struct tracer_opt dummy_tracer_opt[] = {
>> @@ -1069,8 +1071,8 @@ int register_tracer(struct tracer *type)
>> tracing_set_tracer(type->name);
>> default_bootup_tracer = NULL;
>> /* disable other selftests, since this will break it. */
>> - tracing_selftest_disabled = true;
>> #ifdef CONFIG_FTRACE_STARTUP_TEST
>> + tracing_selftest_disabled = true;
>> printk(KERN_INFO "Disabling FTRACE selftests due to running tracer '%s'\n",
>> type->name);
>> #endif
>> diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
>> index 9b8afa7..e9ef8b7 100644
>> --- a/kernel/trace/trace.h
>> +++ b/kernel/trace/trace.h
>> @@ -546,10 +546,10 @@ extern int DYN_FTRACE_TEST_NAME(void);
>> extern int DYN_FTRACE_TEST_NAME2(void);
>>
>> extern bool ring_buffer_expanded;
>> -extern bool tracing_selftest_disabled;
>> DECLARE_PER_CPU(int, ftrace_cpu_disabled);
>>
>> #ifdef CONFIG_FTRACE_STARTUP_TEST
>> +extern bool tracing_selftest_disabled;
>> extern int trace_selftest_startup_function(struct tracer *trace,
>> struct trace_array *tr);
>> extern int trace_selftest_startup_function_graph(struct tracer *trace,
>> diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
>> index 7c52a51..7c4a16b 100644
>> --- a/kernel/trace/trace_events.c
>> +++ b/kernel/trace/trace_events.c
>> @@ -2251,7 +2251,9 @@ static __init int setup_trace_event(char *str)
>> {
>> strlcpy(bootup_event_buf, str, COMMAND_LINE_SIZE);
>> ring_buffer_expanded = true;
>> +#ifdef CONFIG_FTRACE_STARTUP_TEST
>> tracing_selftest_disabled = true;
>> +#endif
>>
>> return 1;
>> }
>
>
>
> .
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/