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


Groups > linux.kernel > #1637383 > unrolled thread

[PATCH v2 4/4] perf config: Automatically create config file if not exists when setting config

Started byTaeung Song <treeze.taeung@gmail.com>
First post2017-05-08 13:10 +0200
Last post2017-05-09 00:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2 4/4] perf config: Automatically create config file if not exists when setting config Taeung Song <treeze.taeung@gmail.com> - 2017-05-08 13:10 +0200
    Re: [PATCH v2 4/4] perf config: Automatically create config file if  not exists when setting config Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-05-08 18:50 +0200
      Re: [PATCH v2 4/4] perf config: Automatically create config file if  not exists when setting config Taeung Song <treeze.taeung@gmail.com> - 2017-05-09 00:20 +0200

#1637383 — [PATCH v2 4/4] perf config: Automatically create config file if not exists when setting config

FromTaeung Song <treeze.taeung@gmail.com>
Date2017-05-08 13:10 +0200
Subject[PATCH v2 4/4] perf config: Automatically create config file if not exists when setting config
Message-ID<tEOIb-39M-39@gated-at.bofh.it>
When setting config key-value pairs,
if user or system config files are nonexistent,
currently perf-config's setting didn't work right.
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 <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
---
 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

[toc] | [next] | [standalone]


#1637584 — Re: [PATCH v2 4/4] perf config: Automatically create config file if not exists when setting config

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2017-05-08 18:50 +0200
SubjectRe: [PATCH v2 4/4] perf config: Automatically create config file if not exists when setting config
Message-ID<tEU1c-6nV-29@gated-at.bofh.it>
In reply to#1637383
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?

> 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 <jolsa@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
> ---
>  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

[toc] | [prev] | [next] | [standalone]


#1637762 — Re: [PATCH v2 4/4] perf config: Automatically create config file if not exists when setting config

FromTaeung Song <treeze.taeung@gmail.com>
Date2017-05-09 00:20 +0200
SubjectRe: [PATCH v2 4/4] perf config: Automatically create config file if not exists when setting config
Message-ID<tEZax-1o3-1@gated-at.bofh.it>
In reply to#1637584

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 <jolsa@kernel.org>
>> Cc: Namhyung Kim <namhyung@kernel.org>
>> Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
>> ---
>>  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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web