From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752144AbdEHWLS (ORCPT ); Mon, 8 May 2017 18:11:18 -0400 Received: from mail-pg0-f48.google.com ([74.125.83.48]:34783 "EHLO mail-pg0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751183AbdEHWLR (ORCPT ); Mon, 8 May 2017 18:11:17 -0400 Subject: Re: [PATCH v2 4/4] perf config: Automatically create config file if not exists when setting config To: Arnaldo Carvalho de Melo References: <1494241669-32560-1-git-send-email-treeze.taeung@gmail.com> <20170508164126.GK7891@kernel.org> Cc: linux-kernel@vger.kernel.org, Jiri Olsa , Namhyung Kim From: Taeung Song Message-ID: Date: Tue, 9 May 2017 07:11:13 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170508164126.GK7891@kernel.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/09/2017 01:41 AM, Arnaldo Carvalho de Melo wrote: > Em Mon, May 08, 2017 at 08:07:49PM +0900, Taeung Song escreveu: >> When setting config key-value pairs, >> if user or system config files are nonexistent, >> currently perf-config's setting didn't work right. > > "currently doesn't work right" is too vague? In what way it doesn't > work? What happens? Can you rephrase this to describe what is going > wrong and how it should behave instead? I got it ! I'll change the commit log message to be more clear. Thanks, Taeung > >> So automatically create a config file on the situation. >> >> Before: >> >> $ rm -f ~/.perfconfig && perf config --user report.children=false >> >> $ cat ~/.perfconfig >> cat: /root/.perfconfig: No such file or directory >> >> After: >> >> $ rm -f ~/.perfconfig && perf config --user report.children=false >> >> $ cat ~/.perfconfig >> # this file is auto-generated. >> [report] >> children = false >> >> NOTE: >> Even if not free config_set after perf_config_set__init() failed, >> it'll be freed at the tail end (i.e. by perf_config_set__delete() >> at the end of cmd_config()). >> >> Cc: Jiri Olsa >> Cc: Namhyung Kim >> Signed-off-by: Taeung Song >> --- >> tools/perf/util/config.c | 5 +---- >> 1 file changed, 1 insertion(+), 4 deletions(-) >> >> diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c >> index 8d724f0..1cc5d80 100644 >> --- a/tools/perf/util/config.c >> +++ b/tools/perf/util/config.c >> @@ -691,10 +691,7 @@ struct perf_config_set *perf_config_set__new(void) >> >> if (set) { >> INIT_LIST_HEAD(&set->sections); >> - if (perf_config_set__init(set) < 0) { >> - perf_config_set__delete(set); >> - set = NULL; >> - } >> + perf_config_set__init(set); >> } >> >> return set; >> -- >> 2.7.4