public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration
@ 2017-09-07  3:18 Taeung Song
  2017-09-08 14:36 ` Arnaldo Carvalho de Melo
  2017-09-22 16:36 ` [tip:perf/core] " tip-bot for Taeung Song
  0 siblings, 2 replies; 4+ messages in thread
From: Taeung Song @ 2017-09-07  3:18 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo; +Cc: linux-kernel, taeung, Jiri Olsa, Namhyung Kim

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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration
  2017-09-07  3:18 [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration Taeung Song
@ 2017-09-08 14:36 ` Arnaldo Carvalho de Melo
  2017-09-08 17:58   ` Taeung Song
  2017-09-22 16:36 ` [tip:perf/core] " tip-bot for Taeung Song
  1 sibling, 1 reply; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-09-08 14:36 UTC (permalink / raw)
  To: Taeung Song; +Cc: linux-kernel, taeung, Jiri Olsa, Namhyung Kim

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration
  2017-09-08 14:36 ` Arnaldo Carvalho de Melo
@ 2017-09-08 17:58   ` Taeung Song
  0 siblings, 0 replies; 4+ messages in thread
From: Taeung Song @ 2017-09-08 17:58 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo; +Cc: linux-kernel, taeung, Jiri Olsa, Namhyung Kim

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip:perf/core] perf config: Allow creating empty config set for config file autogeneration
  2017-09-07  3:18 [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration Taeung Song
  2017-09-08 14:36 ` Arnaldo Carvalho de Melo
@ 2017-09-22 16:36 ` tip-bot for Taeung Song
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot for Taeung Song @ 2017-09-22 16:36 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: mingo, linux-kernel, namhyung, treeze.taeung, jolsa, hpa, tglx,
	acme

Commit-ID:  55421b4fb7054f85274b1b6a321e204dac696133
Gitweb:     http://git.kernel.org/tip/55421b4fb7054f85274b1b6a321e204dac696133
Author:     Taeung Song <treeze.taeung@gmail.com>
AuthorDate: Thu, 7 Sep 2017 12:18:56 +0900
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 13 Sep 2017 09:49:16 -0300

perf config: Allow creating empty config set for config file autogeneration

When there isn't a config file (e.g. ~/.perfconfig) or it has nothing,
the config set wasn't created.

If the config set does not exist, 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() fails, it looks as if 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().

Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1504754336-9824-1-git-send-email-treeze.taeung@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.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;

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-09-22 16:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-07  3:18 [PATCH v5 3/3] perf config: Allow creating empty config set for config file autogeneration Taeung Song
2017-09-08 14:36 ` Arnaldo Carvalho de Melo
2017-09-08 17:58   ` Taeung Song
2017-09-22 16:36 ` [tip:perf/core] " tip-bot for Taeung Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox