From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932199AbcEaR1c (ORCPT ); Tue, 31 May 2016 13:27:32 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:33489 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755860AbcEaR1W (ORCPT ); Tue, 31 May 2016 13:27:22 -0400 From: Taeung Song To: Arnaldo Carvalho de Melo Cc: linux-kernel@vger.kernel.org, Jiri Olsa , Namhyung Kim , Ingo Molnar , Peter Zijlstra , Alexander Shishkin , Masami Hiramatsu , Taeung Song , Jiri Olsa Subject: [PATCH v5 8/9] perf config: Reset the config set at only 'config' sub-command Date: Wed, 1 Jun 2016 02:26:48 +0900 Message-Id: <1464715609-12401-9-git-send-email-treeze.taeung@gmail.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1464715609-12401-1-git-send-email-treeze.taeung@gmail.com> References: <1464715609-12401-1-git-send-email-treeze.taeung@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Cc: Jiri Olsa Cc: Masami Hiramatsu Cc: Alexander Shishkin Signed-off-by: Taeung Song --- 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