ftrace: Rename set_tracer_flags()'s local variable trace_flags
PATCH 1/2 ftrace: Rename set_tracer_flags()'s local variable trace_flags
set_tracer_flags() have a local variable named trace_flags which have same name with global one.
Actually, using tracer_flags should be better by its meaning.
[ Impact: cleanup ]
--- kernel/trace/trace.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-)
kernel/trace/trace.c +7 -7
@@ -2291,23 +2291,23 @@ tracing_trace_options_read(struct file *filp, char __user *ubuf,/* Try to assign a tracer specific option */ static int set_tracer_option (struct tracer *trace,char *cmp,int neg) { -struct tracer_flags *trace_flags = trace->flags; +struct tracer_flags *tracer_flags = trace->flags;struct tracer_opt *opts =NULL ;int ret =0 , i =0 ;int len; -for (i =0 ; trace_flags->opts[i].name; i++) { - opts = &trace_flags->opts[i]; +for (i =0 ; tracer_flags->opts[i].name; i++) { + opts = &tracer_flags->opts[i]; len =strlen (opts->name);if (strncmp (cmp, opts->name, len) ==0 ) { - ret = trace->set_flag (trace_flags->val, + ret = trace->set_flag (tracer_flags->val, opts->bit, !neg);break ; } }/* Not found */ -if (!trace_flags->opts[i].name) +if (!tracer_flags->opts[i].name)return -EINVAL ;/* Refused to handle */
@@ -2315,9 +2315,9 @@ static int set_tracer_option(struct tracer *trace, char *cmp, int neg)return ret;if (neg) - trace_flags->val &= ~opts->bit; + tracer_flags->val &= ~opts->bit;else - trace_flags->val |= opts->bit; + tracer_flags->val |= opts->bit;return 0 ; }
Signature · 1 line
1.5.5.3
PATCH 2/2 ftrace: Unify effect of writing to trace_options and option/*
"echo noglobal-clock > trace_options" can be used to change trace clock but "echo 0 > options/global-clock" can't.
We can fix it by using set_tracer_flags() in trace_options_core_write().
--- kernel/trace/trace.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)
kernel/trace/trace.c +2 -3
@@ -3893,12 +3893,11 @@ trace_options_core_write(struct file *filp, const char __user *ubuf, size_t cnt,switch (val) {case 0 : - trace_flags &= ~(1 << index); +set_tracer_flags (1 << index,0 );break ;case 1 : - trace_flags |=1 << index; +set_tracer_flags (1 << index,1 );break ; -default :return -EINVAL ; }
Signature · 1 line
1.5.5.3
Re: [PATCH 2/2] ftrace: Unify effect of writing to trace_options and option/*
Quoted 19 lines · Zhaolei
"echo noglobal-clock >
trace_options" can be used to change trace clock but "echo 0 > options/global-clock" can't.We can fix it by using
set_tracer_flags()intrace_options_core_write().Signed-off-by Zhao Lei <[email protected]>--- kernel/trace/trace.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)kernel/trace/trace.c +0
-1@@ -3893,12 +3893,11 @@ trace_options_core_write(struct file *filp, const char __user *ubuf, size_t cnt,switch (val) {case 0 : - trace_flags &= ~(1 << index);
kernel/trace/trace.c trace_options_core_write(struct file *filp, const char __user *ubuf, size_t cnt, · line 3903
Quoted 10 lines
kernel/trace/trace.c +2
-2+set_tracer_flags (1 << index,0 );break ;case 1 : - trace_flags |=1 << index; +set_tracer_flags (1 << index,1 );break ; -default :return -EINVAL ; }
It applies on .31 BTW.
That makes me think: shouldn't it be better to keep tracing/options for global options and options/* for local tracer options? That breaks the ABI but...
Re: [PATCH 2/2] ftrace: Unify effect of writing to trace_options and option/*
In reply to ZhaoleiQuoted 5 lines · Zhaolei
"echo noglobal-clock >
trace_options" can be used to change trace clock but "echo 0 > options/global-clock" can't.We can fix it by using
set_tracer_flags()intrace_options_core_write().
Nice catch.
Quoted 14 lines
Signed-off-by Zhao Lei <[email protected]>--- kernel/trace/trace.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)kernel/trace/trace.c +0
-1@@ -3893,12 +3893,11 @@ trace_options_core_write(struct file *filp, const char __user *ubuf, size_t cnt,switch (val) {case 0 : - trace_flags &= ~(1 << index);
kernel/trace/trace.c trace_options_core_write(struct file *filp, const char __user *ubuf, size_t cnt, · line 3903
Quoted 10 lines
kernel/trace/trace.c +2
-2+set_tracer_flags (1 << index,0 );break ;case 1 : - trace_flags |=1 << index; +set_tracer_flags (1 << index,1 );break ; -default :return -EINVAL ; }
The whole switch statement can be simplied:
if (val != 0 || val != 1) return -EINVAL; set_tracer_flags(1 << index, val);
Re: Re: [PATCH 2/2] ftrace: Unify effect of writing to trace_options and option/*
Quoted 36 lines · Li Zefan
Quoted 5 lines · Zhaolei
"echo noglobal-clock >
trace_options" can be used to change trace clock but "echo 0 > options/global-clock" can't.We can fix it by using
set_tracer_flags()intrace_options_core_write().Nice catch.
Quoted 14 lines
Signed-off-by Zhao Lei <[email protected]>--- kernel/trace/trace.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)kernel/trace/trace.c +0
-1@@ -3893,12 +3893,11 @@ trace_options_core_write(struct file *filp, const char __user *ubuf, size_t cnt,switch (val) {case 0 : - trace_flags &= ~(1 << index);kernel/trace/trace.c trace_options_core_write(struct file *filp, const char __user *ubuf, size_t cnt, · line 3903
Quoted 10 lines
kernel/trace/trace.c +2
-2+set_tracer_flags (1 << index,0 );break ;case 1 : - trace_flags |=1 << index; +set_tracer_flags (1 << index,1 );break ; -default :return -EINVAL ; }The whole switch statement can be simplied:
Quoted 3 lines
if (val != 0 || val != 1) return -EINVAL; set_tracer_flags(1 << index, val);
Hello, Li
Thanks.
V2 will send.
Thanks
Zhaolei
PATCH v2 1/2 ftrace: Rename set_tracer_flags()'s local variable trace_flags
In reply to Li Zefanset_tracer_flags() have a local variable named trace_flags which have same name with global one.
Actually, using tracer_flags should be better by its meaning.
Changelog:v1->v2: Simplied another patch in this patchset, no change in this patch.
[ Impact: cleanup ]
--- kernel/trace/trace.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-)
kernel/trace/trace.c +7 -7
@@ -2117,23 +2117,23 @@ tracing_trace_options_read(struct file *filp, char __user *ubuf,/* Try to assign a tracer specific option */ static int set_tracer_option (struct tracer *trace,char *cmp,int neg) { -struct tracer_flags *trace_flags = trace->flags; +struct tracer_flags *tracer_flags = trace->flags;struct tracer_opt *opts =NULL ;int ret =0 , i =0 ;int len; -for (i =0 ; trace_flags->opts[i].name; i++) { - opts = &trace_flags->opts[i]; +for (i =0 ; tracer_flags->opts[i].name; i++) { + opts = &tracer_flags->opts[i]; len =strlen (opts->name);if (strncmp (cmp, opts->name, len) ==0 ) { - ret = trace->set_flag (trace_flags->val, + ret = trace->set_flag (tracer_flags->val, opts->bit, !neg);break ; } }/* Not found */ -if (!trace_flags->opts[i].name) +if (!tracer_flags->opts[i].name)return -EINVAL ;/* Refused to handle */
@@ -2141,9 +2141,9 @@ static int set_tracer_option(struct tracer *trace, char *cmp, int neg)return ret;if (neg) - trace_flags->val &= ~opts->bit; + tracer_flags->val &= ~opts->bit;else - trace_flags->val |= opts->bit; + tracer_flags->val |= opts->bit;return 0 ; }
Signature · 1 line
1.5.5.3
Frederic Weisbecker
AppliedQuoted 10 lines · Zhaolei
set_tracer_flags()have a local variable namedtrace_flagswhich have same name with global one.
Actually, usingtracer_flagsshould be better by its meaning.Changelog:
v1->v2: Simplied another patch in this patchset, no change in this patch.[ Impact: cleanup ]
Signed-off-by Zhao Lei <[email protected]>
Queued for .32, thanks!
Quoted 53 lines
--- kernel/trace/trace.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-)kernel/trace/trace.c +7
-7@@ -2117,23 +2117,23 @@ tracing_trace_options_read(struct file *filp, char __user *ubuf,/* Try to assign a tracer specific option */ static int set_tracer_option (struct tracer *trace,char *cmp,int neg) { -struct tracer_flags *trace_flags = trace->flags; +struct tracer_flags *tracer_flags = trace->flags;struct tracer_opt *opts =NULL ;int ret =0 , i =0 ;int len; -for (i =0 ; trace_flags->opts[i].name; i++) { - opts = &trace_flags->opts[i]; +for (i =0 ; tracer_flags->opts[i].name; i++) { + opts = &tracer_flags->opts[i]; len =strlen (opts->name);if (strncmp (cmp, opts->name, len) ==0 ) { - ret = trace->set_flag (trace_flags->val, + ret = trace->set_flag (tracer_flags->val, opts->bit, !neg);break ; } }/* Not found */ -if (!trace_flags->opts[i].name) +if (!tracer_flags->opts[i].name)return -EINVAL ;/* Refused to handle */ @@ -2141,9 +2141,9 @@ static int set_tracer_option(struct tracer *trace, char *cmp, int neg)return ret;if (neg) - trace_flags->val &= ~opts->bit; + tracer_flags->val &= ~opts->bit;else - trace_flags->val |= opts->bit; + tracer_flags->val |= opts->bit;return 0 ; }Signature · 1 line
1.5.5.3
PATCH v2 2/2 ftrace: Unify effect of writing to trace_options and option/*
In reply to Li Zefan"echo noglobal-clock > trace_options" can be used to change trace clock but "echo 0 > options/global-clock" can't.
We can fix it by using set_tracer_flags() in trace_options_core_write().
Changelog:v1->v2: Simplied switch() by Li Zefan <[email protected]>'s suggest.
--- kernel/trace/trace.c | 12 ++---------- 1 files changed, 2 insertions(+), 10 deletions(-)
kernel/trace/trace.c +2 -10
@@ -3718,17 +3718,9 @@ trace_options_core_write(struct file *filp, const char __user *ubuf, size_t cnt,if (ret <0 )return ret; -switch (val) { -case 0 : - trace_flags &= ~(1 << index); -break ; -case 1 : - trace_flags |=1 << index; -break ; - -default : +if (val !=0 && val !=1 )return -EINVAL ; - } +set_tracer_flags (1 << index, val); *ppos += cnt;
Signature · 1 line
1.5.5.3
Frederic Weisbecker
AppliedRe: [PATCH v2 2/2] ftrace: Unify effect of writing to trace_options and option/*
Quoted 9 lines · Zhaolei
"echo noglobal-clock >
trace_options" can be used to change trace clock but "echo 0 > options/global-clock" can't.We can fix it by using
set_tracer_flags()intrace_options_core_write().Changelog:
v1->v2: Simpliedswitch()by Li Zefan <[email protected]>'s suggest.Signed-off-by Zhao Lei <[email protected]>
Queued for .31, thanks!
Quoted 32 lines
--- kernel/trace/trace.c | 12 ++---------- 1 files changed, 2 insertions(+), 10 deletions(-)kernel/trace/trace.c +2
-10@@ -3718,17 +3718,9 @@ trace_options_core_write(struct file *filp, const char __user *ubuf, size_t cnt,if (ret <0 )return ret; -switch (val) { -case 0 : - trace_flags &= ~(1 << index); -break ; -case 1 : - trace_flags |=1 << index; -break ; - -default : +if (val !=0 && val !=1 )return -EINVAL ; - } +set_tracer_flags (1 << index, val); *ppos += cnt;Signature · 1 line
1.5.5.3
Quoted 7 lines · Zhaolei
set_tracer_flags()have a local variable namedtrace_flagswhich have same name with global one.
Actually, usingtracer_flagsshould be better by its meaning.[ Impact: cleanup ]
Signed-off-by Zhao Lei <[email protected]>
Quoted 53 lines
--- kernel/trace/trace.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-)kernel/trace/trace.c +7
-7@@ -2291,23 +2291,23 @@ tracing_trace_options_read(struct file *filp, char __user *ubuf,/* Try to assign a tracer specific option */ static int set_tracer_option (struct tracer *trace,char *cmp,int neg) { -struct tracer_flags *trace_flags = trace->flags; +struct tracer_flags *tracer_flags = trace->flags;struct tracer_opt *opts =NULL ;int ret =0 , i =0 ;int len; -for (i =0 ; trace_flags->opts[i].name; i++) { - opts = &trace_flags->opts[i]; +for (i =0 ; tracer_flags->opts[i].name; i++) { + opts = &tracer_flags->opts[i]; len =strlen (opts->name);if (strncmp (cmp, opts->name, len) ==0 ) { - ret = trace->set_flag (trace_flags->val, + ret = trace->set_flag (tracer_flags->val, opts->bit, !neg);break ; } }/* Not found */ -if (!trace_flags->opts[i].name) +if (!tracer_flags->opts[i].name)return -EINVAL ;/* Refused to handle */ @@ -2315,9 +2315,9 @@ static int set_tracer_option(struct tracer *trace, char *cmp, int neg)return ret;if (neg) - trace_flags->val &= ~opts->bit; + tracer_flags->val &= ~opts->bit;else - trace_flags->val |= opts->bit; + tracer_flags->val |= opts->bit;return 0 ; }Signature · 1 line
1.5.5.3