Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1409280 > unrolled thread
| Started by | Taeung Song <treeze.taeung@gmail.com> |
|---|---|
| First post | 2016-05-30 18:50 +0200 |
| Last post | 2016-05-31 00:30 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v3 3/7] perf config: Modify perf_config_set__delete() using global variable 'config_set' Taeung Song <treeze.taeung@gmail.com> - 2016-05-30 18:50 +0200
Re: [PATCH v3 3/7] perf config: Modify perf_config_set__delete() using global variable 'config_set' Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-05-30 21:30 +0200
Re: [PATCH v3 3/7] perf config: Modify perf_config_set__delete() using global variable 'config_set' Taeung Song <treeze.taeung@gmail.com> - 2016-05-31 00:30 +0200
| From | Taeung Song <treeze.taeung@gmail.com> |
|---|---|
| Date | 2016-05-30 18:50 +0200 |
| Subject | [PATCH v3 3/7] perf config: Modify perf_config_set__delete() using global variable 'config_set' |
| Message-ID | <rEyy5-6IE-13@gated-at.bofh.it> |
This function deleted allocated config set but
the global variable 'config_set' is used all around
so this directly remove 'config_set' instead of using local variable 'set'.
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
tools/perf/builtin-config.c | 2 +-
tools/perf/util/config.c | 8 ++++----
tools/perf/util/config.h | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c
index b3bc01a..255015e 100644
--- a/tools/perf/builtin-config.c
+++ b/tools/perf/builtin-config.c
@@ -105,7 +105,7 @@ int cmd_config(int argc, const char **argv, const char *prefix __maybe_unused)
usage_with_options(config_usage, config_options);
}
- perf_config_set__delete(config_set);
+ perf_config_set__delete();
out_err:
return ret;
}
diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c
index adf2bad..68def9a 100644
--- a/tools/perf/util/config.c
+++ b/tools/perf/util/config.c
@@ -642,7 +642,7 @@ static int collect_config(const char *var, const char *value,
out_free:
free(key);
- perf_config_set__delete(set);
+ perf_config_set__delete();
return -1;
}
@@ -740,10 +740,10 @@ static void perf_config_set__purge(struct perf_config_set *set)
}
}
-void perf_config_set__delete(struct perf_config_set *set)
+void perf_config_set__delete(void)
{
- perf_config_set__purge(set);
- free(set);
+ perf_config_set__purge(config_set);
+ zfree(&config_set);
}
/*
diff --git a/tools/perf/util/config.h b/tools/perf/util/config.h
index ea157a4..e9b47b3 100644
--- a/tools/perf/util/config.h
+++ b/tools/perf/util/config.h
@@ -23,6 +23,6 @@ struct perf_config_set {
extern struct perf_config_set *config_set;
struct perf_config_set *perf_config_set__new(void);
-void perf_config_set__delete(struct perf_config_set *set);
+void perf_config_set__delete(void);
#endif /* __PERF_CONFIG_H */
--
2.5.0
[toc] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-05-30 21:30 +0200 |
| Subject | Re: [PATCH v3 3/7] perf config: Modify perf_config_set__delete() using global variable 'config_set' |
| Message-ID | <rEB2W-8w0-33@gated-at.bofh.it> |
| In reply to | #1409280 |
Em Tue, May 31, 2016 at 01:44:07AM +0900, Taeung Song escreveu:
> This function deleted allocated config set but
> the global variable 'config_set' is used all around
> so this directly remove 'config_set' instead of using local variable 'set'.
Keep it like it is, i.e. foo__delete() acts on something returned by
foo__new(), for consistency.
We may want to, for instance, have two instances returned by foo__new()
and then call the destructor for each.
- Arnaldo
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Cc: Masami Hiramatsu <mhiramat@kernel.org>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
> ---
> tools/perf/builtin-config.c | 2 +-
> tools/perf/util/config.c | 8 ++++----
> tools/perf/util/config.h | 2 +-
> 3 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c
> index b3bc01a..255015e 100644
> --- a/tools/perf/builtin-config.c
> +++ b/tools/perf/builtin-config.c
> @@ -105,7 +105,7 @@ int cmd_config(int argc, const char **argv, const char *prefix __maybe_unused)
> usage_with_options(config_usage, config_options);
> }
>
> - perf_config_set__delete(config_set);
> + perf_config_set__delete();
> out_err:
> return ret;
> }
> diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c
> index adf2bad..68def9a 100644
> --- a/tools/perf/util/config.c
> +++ b/tools/perf/util/config.c
> @@ -642,7 +642,7 @@ static int collect_config(const char *var, const char *value,
>
> out_free:
> free(key);
> - perf_config_set__delete(set);
> + perf_config_set__delete();
> return -1;
> }
>
> @@ -740,10 +740,10 @@ static void perf_config_set__purge(struct perf_config_set *set)
> }
> }
>
> -void perf_config_set__delete(struct perf_config_set *set)
> +void perf_config_set__delete(void)
> {
> - perf_config_set__purge(set);
> - free(set);
> + perf_config_set__purge(config_set);
> + zfree(&config_set);
> }
>
> /*
> diff --git a/tools/perf/util/config.h b/tools/perf/util/config.h
> index ea157a4..e9b47b3 100644
> --- a/tools/perf/util/config.h
> +++ b/tools/perf/util/config.h
> @@ -23,6 +23,6 @@ struct perf_config_set {
> extern struct perf_config_set *config_set;
>
> struct perf_config_set *perf_config_set__new(void);
> -void perf_config_set__delete(struct perf_config_set *set);
> +void perf_config_set__delete(void);
>
> #endif /* __PERF_CONFIG_H */
> --
> 2.5.0
[toc] | [prev] | [next] | [standalone]
| From | Taeung Song <treeze.taeung@gmail.com> |
|---|---|
| Date | 2016-05-31 00:30 +0200 |
| Subject | Re: [PATCH v3 3/7] perf config: Modify perf_config_set__delete() using global variable 'config_set' |
| Message-ID | <rEDR9-1Zm-65@gated-at.bofh.it> |
| In reply to | #1409349 |
Hi, Arnaldo :-D
On 05/31/2016 04:29 AM, Arnaldo Carvalho de Melo wrote:
> Em Tue, May 31, 2016 at 01:44:07AM +0900, Taeung Song escreveu:
>> This function deleted allocated config set but
>> the global variable 'config_set' is used all around
>> so this directly remove 'config_set' instead of using local variable 'set'.
>
> Keep it like it is, i.e. foo__delete() acts on something returned by
> foo__new(), for consistency.
>
> We may want to, for instance, have two instances returned by foo__new()
> and then call the destructor for each.
>
I understood it.
I'll just keep the function as it is
i.e. void perf_config_set__delete(struct perf_config_set *set)
, for consistency.
And at [PATCH v3 4/7] perf config: Reimplement perf_config() using
perf_config_set__iter()
when calling the function at run_builtin(),
I'll modify it like below.
@@ -391,6 +391,7 @@ static int run_builtin(struct cmd_struct *p, int
argc, const char **argv)
perf_env__set_cmdline(&perf_env, argc, argv);
status = p->fn(argc, argv, prefix);
+ perf_config_set__delete(config_set);
exit_browser(status);
perf_env__exit(&perf_env);
bpf__clear();
Thanks,
Taeung
>> Cc: Namhyung Kim <namhyung@kernel.org>
>> Cc: Jiri Olsa <jolsa@redhat.com>
>> Cc: Masami Hiramatsu <mhiramat@kernel.org>
>> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
>> Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
>> ---
>> tools/perf/builtin-config.c | 2 +-
>> tools/perf/util/config.c | 8 ++++----
>> tools/perf/util/config.h | 2 +-
>> 3 files changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c
>> index b3bc01a..255015e 100644
>> --- a/tools/perf/builtin-config.c
>> +++ b/tools/perf/builtin-config.c
>> @@ -105,7 +105,7 @@ int cmd_config(int argc, const char **argv, const char *prefix __maybe_unused)
>> usage_with_options(config_usage, config_options);
>> }
>>
>> - perf_config_set__delete(config_set);
>> + perf_config_set__delete();
>> out_err:
>> return ret;
>> }
>> diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c
>> index adf2bad..68def9a 100644
>> --- a/tools/perf/util/config.c
>> +++ b/tools/perf/util/config.c
>> @@ -642,7 +642,7 @@ static int collect_config(const char *var, const char *value,
>>
>> out_free:
>> free(key);
>> - perf_config_set__delete(set);
>> + perf_config_set__delete();
>> return -1;
>> }
>>
>> @@ -740,10 +740,10 @@ static void perf_config_set__purge(struct perf_config_set *set)
>> }
>> }
>>
>> -void perf_config_set__delete(struct perf_config_set *set)
>> +void perf_config_set__delete(void)
>> {
>> - perf_config_set__purge(set);
>> - free(set);
>> + perf_config_set__purge(config_set);
>> + zfree(&config_set);
>> }
>>
>> /*
>> diff --git a/tools/perf/util/config.h b/tools/perf/util/config.h
>> index ea157a4..e9b47b3 100644
>> --- a/tools/perf/util/config.h
>> +++ b/tools/perf/util/config.h
>> @@ -23,6 +23,6 @@ struct perf_config_set {
>> extern struct perf_config_set *config_set;
>>
>> struct perf_config_set *perf_config_set__new(void);
>> -void perf_config_set__delete(struct perf_config_set *set);
>> +void perf_config_set__delete(void);
>>
>> #endif /* __PERF_CONFIG_H */
>> --
>> 2.5.0
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web