From 08d090cfed8cc2ce5821ddb2b91118979e511019 Mon Sep 17 00:00:00 2001 From: Taeung Song Date: Fri, 4 Nov 2016 15:44:22 +0900 Subject: perf config: Mark where are config items from (user or system) To write config items to a particular config file, we should know where is each config section and item from. Current setting functionality of perf-config use autogenerating way by overwriting collected config items to a config file. For example, when collecting config items from user and system config files (i.e. ~/.perfconfig and $(sysconf)/perfconfig), perf_config_set can contain both user and system config items. So we should know where each value is from to avoid merging user and system config items on user config file. Signed-off-by: Taeung Song Cc: Jiri Olsa Cc: Nambong Ha Cc: Namhyung Kim Cc: Peter Zijlstra Cc: Wang Nan Cc: Wookje Kwon Link: http://lkml.kernel.org/r/1478241862-31230-7-git-send-email-treeze.taeung@gmail.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/builtin-config.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tools/perf/builtin-config.c') diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c index 7c861b54f3a6..8c0d93b7c2f0 100644 --- a/tools/perf/builtin-config.c +++ b/tools/perf/builtin-config.c @@ -48,14 +48,18 @@ static int set_config(struct perf_config_set *set, const char *file_name, if (!fp) return -1; - perf_config_set__collect(set, var, value); + perf_config_set__collect(set, file_name, var, value); fprintf(fp, "%s\n", first_line); /* overwrite configvariables */ perf_config_items__for_each_entry(&set->sections, section) { + if (!use_system_config && section->from_system_config) + continue; fprintf(fp, "[%s]\n", section->name); perf_config_items__for_each_entry(§ion->items, item) { + if (!use_system_config && section->from_system_config) + continue; if (item->value) fprintf(fp, "\t%s = %s\n", item->name, item->value); -- cgit v1.2.3