Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1410473

[PATCH v5 8/9] perf config: Reset the config set at only 'config' sub-command

From Taeung Song <treeze.taeung@gmail.com>
Newsgroups linux.kernel
Subject [PATCH v5 8/9] perf config: Reset the config set at only 'config' sub-command
Date 2016-05-31 19:30 +0200
Message-ID <rEVEn-5CE-41@gated-at.bofh.it> (permalink)
References <rEVEm-5CE-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


When first calling perf_config(), the config set is
initialized collecting both user and system config files
(i.e. user config ~/.perfconfig and system config
$(sysconfdir)/perfconfig) so config set contains
not only user config but also system config key-value pairs.
(User config has higher priority than system config.)

But 'config' sub-command individually use the config set
so free the existing config set (i.e. a global variable config_set)
before reinstantiating it.

And 'config' sub-command have '--user' or '--system' options.
To reinitialize with the options, the config set should be reset
at the very beginning at cmd_config()

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 | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c
index f23fe52..4dab41e 100644
--- a/tools/perf/builtin-config.c
+++ b/tools/perf/builtin-config.c
@@ -79,6 +79,11 @@ int cmd_config(int argc, const char **argv, const char *prefix __maybe_unused)
 	else if (use_user_config)
 		config_exclusive_filename = user_config;
 
+	/*
+	 * Reset the config set at only 'config' sub-command
+	 * because of reinitializing with options config file location.
+	 */
+	perf_config_set__delete(&config_set);
 	config_set = perf_config_set__new();
 	if (!config_set) {
 		ret = -1;
-- 
2.5.0

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFC][PATCH v5 0/9] perf config: Reimplement perf_config() using perf_config_set__inter() Taeung Song <treeze.taeung@gmail.com> - 2016-05-31 19:30 +0200
  [BUGFIX][PATCH v5 2/9] perf config: Finally free a config set after collect_config() worked Taeung Song <treeze.taeung@gmail.com> - 2016-05-31 19:30 +0200
  [BUGFIX][PATCH v5 1/9] perf config: Let perf_config() return in case of failure Taeung Song <treeze.taeung@gmail.com> - 2016-05-31 19:30 +0200
  [PATCH v5 4/9] perf config: Use new perf_config_set__init() to initialize config set Taeung Song <treeze.taeung@gmail.com> - 2016-05-31 19:30 +0200
  [PATCH v5 8/9] perf config: Reset the config set at only 'config' sub-command Taeung Song <treeze.taeung@gmail.com> - 2016-05-31 19:30 +0200
  [PATCH v5 7/9] perf config: Reimplement perf_config() using perf_config_set__iter() Taeung Song <treeze.taeung@gmail.com> - 2016-05-31 19:30 +0200
  [PATCH v5 5/9] perf config: Add global variable 'config_set' Taeung Song <treeze.taeung@gmail.com> - 2016-05-31 19:30 +0200
  [PATCH v5 9/9] perf config: Reimplement show_config() using perf_config() Taeung Song <treeze.taeung@gmail.com> - 2016-05-31 19:30 +0200
  [BUGFIX][PATCH v5 3/9] perf config: Handle an error when config set is NULL at collect_config() Taeung Song <treeze.taeung@gmail.com> - 2016-05-31 19:30 +0200

csiph-web