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


Groups > linux.kernel > #1727890 > unrolled thread

[PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration

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

Back to article view | Back to linux.kernel


Contents

  [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration Taeung Song <treeze.taeung@gmail.com> - 2017-09-07 05:20 +0200
    Re: [PATCH v5 3/3] perf config: Allow creating empty config set for  config file autogeneration Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-09-08 16:40 +0200
      Re: [PATCH v5 3/3] perf config: Allow creating empty config set for  config file autogeneration Taeung Song <treeze.taeung@gmail.com> - 2017-09-08 20:00 +0200

#1727890 — [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration

FromTaeung Song <treeze.taeung@gmail.com>
Date2017-09-07 05:20 +0200
Subject[PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration
Message-ID<umVwd-2xy-5@gated-at.bofh.it>
When there isn't a config file (e.g. ~/.perfconfig)
or it has nothing, the config set wasn't created.
If the config set not exists, a config file can't be autogenerated.

So allow creating a empty config set in the above case,
then we can support the config file autogeneration.

Before:

  $ rm -f ~/.perfconfig
  $ perf config --user report.children=false

  $ cat ~/.perfconfig
  cat: /root/.perfconfig: No such file or directory

But I think it should work even if there isn't a config file.

After:

  $ rm -f ~/.perfconfig
  $ perf config --user report.children=false

  $ cat ~/.perfconfig
  # this file is auto-generated.
  [report]
      children = false

NOTE:
As a result, if perf_config_set__init() is failed,
it seems that the config set isn't freed. But it isn't a problem.
Because the config set  will be freed 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 bc75596..d2b6983 100644
--- a/tools/perf/util/config.c
+++ b/tools/perf/util/config.c
@@ -700,10 +700,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]


#1728980 — Re: [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2017-09-08 16:40 +0200
SubjectRe: [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration
Message-ID<unsBP-8jV-3@gated-at.bofh.it>
In reply to#1727890
Em Thu, Sep 07, 2017 at 12:18:56PM +0900, Taeung Song escreveu:
> When there isn't a config file (e.g. ~/.perfconfig)
> or it has nothing, the config set wasn't created.
> If the config set not exists, a config file can't be autogenerated.
> 
> So allow creating a empty config set in the above case,
> then we can support the config file autogeneration.

Applied, and rephased a bit the cset log message.

- Arnaldo
 
> Before:
> 
>   $ rm -f ~/.perfconfig
>   $ perf config --user report.children=false
> 
>   $ cat ~/.perfconfig
>   cat: /root/.perfconfig: No such file or directory
> 
> But I think it should work even if there isn't a config file.
> 
> After:
> 
>   $ rm -f ~/.perfconfig
>   $ perf config --user report.children=false
> 
>   $ cat ~/.perfconfig
>   # this file is auto-generated.
>   [report]
>       children = false
> 
> NOTE:
> As a result, if perf_config_set__init() is failed,
> it seems that the config set isn't freed. But it isn't a problem.
> Because the config set  will be freed 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 bc75596..d2b6983 100644
> --- a/tools/perf/util/config.c
> +++ b/tools/perf/util/config.c
> @@ -700,10 +700,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]


#1729139 — Re: [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration

FromTaeung Song <treeze.taeung@gmail.com>
Date2017-09-08 20:00 +0200
SubjectRe: [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration
Message-ID<unvJo-1M9-11@gated-at.bofh.it>
In reply to#1728980
Thank you !! :)

   - Taeung

On 09/08/2017 11:36 PM, Arnaldo Carvalho de Melo wrote:
> Em Thu, Sep 07, 2017 at 12:18:56PM +0900, Taeung Song escreveu:
>> When there isn't a config file (e.g. ~/.perfconfig)
>> or it has nothing, the config set wasn't created.
>> If the config set not exists, a config file can't be autogenerated.
>>
>> So allow creating a empty config set in the above case,
>> then we can support the config file autogeneration.
> 
> Applied, and rephased a bit the cset log message.
> 
> - Arnaldo
>   
>> Before:
>>
>>    $ rm -f ~/.perfconfig
>>    $ perf config --user report.children=false
>>
>>    $ cat ~/.perfconfig
>>    cat: /root/.perfconfig: No such file or directory
>>
>> But I think it should work even if there isn't a config file.
>>
>> After:
>>
>>    $ rm -f ~/.perfconfig
>>    $ perf config --user report.children=false
>>
>>    $ cat ~/.perfconfig
>>    # this file is auto-generated.
>>    [report]
>>        children = false
>>
>> NOTE:
>> As a result, if perf_config_set__init() is failed,
>> it seems that the config set isn't freed. But it isn't a problem.
>> Because the config set  will be freed 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 bc75596..d2b6983 100644
>> --- a/tools/perf/util/config.c
>> +++ b/tools/perf/util/config.c
>> @@ -700,10 +700,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