Re: [PATCH] tracing: use match_string() to simplify the code
On Tue, 5 Jun 2018 19:32:57 +0300 Andy Shevchenko wrote: > On Thu, May 17, 2018 at 11:36 AM, Yisheng Xie wrote: > > match_string() returns the index of an array for a matching string, > > which can be used to simplify the code. > > > > FWIW, > Reviewed-by: Andy Shevchenko Thanks for the reminder, I was going to add this patch, but haven't gotten to it. -- Steve > > > Signed-off-by: Yisheng Xie > > --- > > kernel/trace/trace.c | 15 +-- > > 1 file changed, 5 insertions(+), 10 deletions(-) > > > > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c > > index 414d721..4bd653a 100644 > > --- a/kernel/trace/trace.c > > +++ b/kernel/trace/trace.c > > @@ -4395,8 +4395,7 @@ static int trace_set_options(struct trace_array *tr, > > char *option) > > { > > char *cmp; > > int neg = 0; > > - int ret = -ENODEV; > > - int i; > > + int ret; > > size_t orig_len = strlen(option); > > > > cmp = strstrip(option); > > @@ -4408,16 +4407,12 @@ static int trace_set_options(struct trace_array > > *tr, char *option) > > > > mutex_lock(&trace_types_lock); > > > > - for (i = 0; trace_options[i]; i++) { > > - if (strcmp(cmp, trace_options[i]) == 0) { > > - ret = set_tracer_flag(tr, 1 << i, !neg); > > - break; > > - } > > - } > > - > > + ret = match_string(trace_options, -1, cmp); > > /* If no option could be set, test the specific tracer options */ > > - if (!trace_options[i]) > > + if (ret < 0) > > ret = set_tracer_option(tr, cmp, neg); > > + else > > + ret = set_tracer_flag(tr, 1 << ret, !neg); > > > > mutex_unlock(&trace_types_lock); > > > > -- > > 1.7.12.4 > > > > >
Re: [PATCH] tracing: use match_string() to simplify the code
On Thu, May 17, 2018 at 11:36 AM, Yisheng Xie wrote: > match_string() returns the index of an array for a matching string, > which can be used to simplify the code. > FWIW, Reviewed-by: Andy Shevchenko > Signed-off-by: Yisheng Xie > --- > kernel/trace/trace.c | 15 +-- > 1 file changed, 5 insertions(+), 10 deletions(-) > > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c > index 414d721..4bd653a 100644 > --- a/kernel/trace/trace.c > +++ b/kernel/trace/trace.c > @@ -4395,8 +4395,7 @@ static int trace_set_options(struct trace_array *tr, > char *option) > { > char *cmp; > int neg = 0; > - int ret = -ENODEV; > - int i; > + int ret; > size_t orig_len = strlen(option); > > cmp = strstrip(option); > @@ -4408,16 +4407,12 @@ static int trace_set_options(struct trace_array *tr, > char *option) > > mutex_lock(&trace_types_lock); > > - for (i = 0; trace_options[i]; i++) { > - if (strcmp(cmp, trace_options[i]) == 0) { > - ret = set_tracer_flag(tr, 1 << i, !neg); > - break; > - } > - } > - > + ret = match_string(trace_options, -1, cmp); > /* If no option could be set, test the specific tracer options */ > - if (!trace_options[i]) > + if (ret < 0) > ret = set_tracer_option(tr, cmp, neg); > + else > + ret = set_tracer_flag(tr, 1 << ret, !neg); > > mutex_unlock(&trace_types_lock); > > -- > 1.7.12.4 > -- With Best Regards, Andy Shevchenko
[PATCH] tracing: use match_string() to simplify the code
match_string() returns the index of an array for a matching string, which can be used to simplify the code. Signed-off-by: Yisheng Xie --- kernel/trace/trace.c | 15 +-- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 414d721..4bd653a 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -4395,8 +4395,7 @@ static int trace_set_options(struct trace_array *tr, char *option) { char *cmp; int neg = 0; - int ret = -ENODEV; - int i; + int ret; size_t orig_len = strlen(option); cmp = strstrip(option); @@ -4408,16 +4407,12 @@ static int trace_set_options(struct trace_array *tr, char *option) mutex_lock(&trace_types_lock); - for (i = 0; trace_options[i]; i++) { - if (strcmp(cmp, trace_options[i]) == 0) { - ret = set_tracer_flag(tr, 1 << i, !neg); - break; - } - } - + ret = match_string(trace_options, -1, cmp); /* If no option could be set, test the specific tracer options */ - if (!trace_options[i]) + if (ret < 0) ret = set_tracer_option(tr, cmp, neg); + else + ret = set_tracer_flag(tr, 1 << ret, !neg); mutex_unlock(&trace_types_lock); -- 1.7.12.4