From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1423268AbcEaBOq (ORCPT ); Mon, 30 May 2016 21:14:46 -0400 Received: from mail-pf0-f196.google.com ([209.85.192.196]:33552 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1162499AbcEaBOI (ORCPT ); Mon, 30 May 2016 21:14:08 -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 v4 5/6] perf config: Reset the config set at only 'config' sub-command Date: Tue, 31 May 2016 10:13:47 +0900 Message-Id: <1464657228-24170-6-git-send-email-treeze.taeung@gmail.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1464657228-24170-1-git-send-email-treeze.taeung@gmail.com> References: <1464657228-24170-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