All of lore.kernel.org
 help / color / mirror / Atom feed
From: Taeung Song <treeze.taeung@gmail.com>
To: Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>
Cc: linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Jiri Olsa <jolsa@redhat.com>
Subject: Re: [PATCH v3 3/7] perf config: Modify perf_config_set__delete() using global variable 'config_set'
Date: Tue, 31 May 2016 07:19:57 +0900	[thread overview]
Message-ID: <574CBC8D.3010200@gmail.com> (raw)
In-Reply-To: <20160530192926.GB2563@kernel.org>

Hi, Arnaldo :-D

On 05/31/2016 04:29 AM, Arnaldo Carvalho de Melo wrote:
> Em Tue, May 31, 2016 at 01:44:07AM +0900, Taeung Song escreveu:
>> This function deleted allocated config set but
>> the global variable 'config_set' is used all around
>> so this directly remove 'config_set' instead of using local variable 'set'.
>
> Keep it like it is, i.e. foo__delete() acts on something returned by
> foo__new(), for consistency.
>
> We may want to, for instance, have two instances returned by foo__new()
> and then call the destructor for each.
>

I understood it.
I'll just keep the function as it is
i.e. void perf_config_set__delete(struct perf_config_set *set)
, for consistency.

And at [PATCH v3 4/7] perf config: Reimplement perf_config() using 
perf_config_set__iter()
when calling the function at run_builtin(),
I'll modify it like below.

@@ -391,6 +391,7 @@ static int run_builtin(struct cmd_struct *p, int 
argc, const char **argv)

         perf_env__set_cmdline(&perf_env, argc, argv);
         status = p->fn(argc, argv, prefix);
+       perf_config_set__delete(config_set);
         exit_browser(status);
         perf_env__exit(&perf_env);
         bpf__clear();


Thanks,
Taeung

>> Cc: Namhyung Kim <namhyung@kernel.org>
>> Cc: Jiri Olsa <jolsa@redhat.com>
>> Cc: Masami Hiramatsu <mhiramat@kernel.org>
>> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
>> Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
>> ---
>>   tools/perf/builtin-config.c | 2 +-
>>   tools/perf/util/config.c    | 8 ++++----
>>   tools/perf/util/config.h    | 2 +-
>>   3 files changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c
>> index b3bc01a..255015e 100644
>> --- a/tools/perf/builtin-config.c
>> +++ b/tools/perf/builtin-config.c
>> @@ -105,7 +105,7 @@ int cmd_config(int argc, const char **argv, const char *prefix __maybe_unused)
>>   		usage_with_options(config_usage, config_options);
>>   	}
>>
>> -	perf_config_set__delete(config_set);
>> +	perf_config_set__delete();
>>   out_err:
>>   	return ret;
>>   }
>> diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c
>> index adf2bad..68def9a 100644
>> --- a/tools/perf/util/config.c
>> +++ b/tools/perf/util/config.c
>> @@ -642,7 +642,7 @@ static int collect_config(const char *var, const char *value,
>>
>>   out_free:
>>   	free(key);
>> -	perf_config_set__delete(set);
>> +	perf_config_set__delete();
>>   	return -1;
>>   }
>>
>> @@ -740,10 +740,10 @@ static void perf_config_set__purge(struct perf_config_set *set)
>>   	}
>>   }
>>
>> -void perf_config_set__delete(struct perf_config_set *set)
>> +void perf_config_set__delete(void)
>>   {
>> -	perf_config_set__purge(set);
>> -	free(set);
>> +	perf_config_set__purge(config_set);
>> +	zfree(&config_set);
>>   }
>>
>>   /*
>> diff --git a/tools/perf/util/config.h b/tools/perf/util/config.h
>> index ea157a4..e9b47b3 100644
>> --- a/tools/perf/util/config.h
>> +++ b/tools/perf/util/config.h
>> @@ -23,6 +23,6 @@ struct perf_config_set {
>>   extern struct perf_config_set *config_set;
>>
>>   struct perf_config_set *perf_config_set__new(void);
>> -void perf_config_set__delete(struct perf_config_set *set);
>> +void perf_config_set__delete(void);
>>
>>   #endif /* __PERF_CONFIG_H */
>> --
>> 2.5.0

  reply	other threads:[~2016-05-30 22:20 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-30 16:44 [RFC][PATCH v3 0/7] perf config: Reimplement perf_config() using perf_config_set__inter() Taeung Song
2016-05-30 16:44 ` [PATCH v3 1/7] perf config: Use new perf_config_set__init() to initialize config set Taeung Song
2016-05-30 16:44 ` [PATCH v3 2/7] perf config: Add global variable 'config_set' Taeung Song
2016-05-30 16:44 ` [PATCH v3 3/7] perf config: Modify perf_config_set__delete() using " Taeung Song
2016-05-30 19:29   ` Arnaldo Carvalho de Melo
2016-05-30 22:19     ` Taeung Song [this message]
2016-05-30 16:44 ` [PATCH v3 4/7] perf config: Reimplement perf_config() using perf_config_set__iter() Taeung Song
2016-05-30 19:32   ` Arnaldo Carvalho de Melo
2016-05-30 22:21     ` Taeung Song
2016-05-30 16:44 ` [PATCH v3 5/7] perf config: Reimplement show_config() using perf_config() Taeung Song
2016-05-30 16:44 ` [PATCH v3 6/7] perf config: Remove needless code about config set at cmd_config() Taeung Song
2016-05-30 19:35   ` Arnaldo Carvalho de Melo
2016-05-30 22:23     ` Taeung Song
2016-05-30 16:44 ` [PATCH v3 7/7] perf config: Reset the config set at only 'config' sub-command Taeung Song

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=574CBC8D.3010200@gmail.com \
    --to=treeze.taeung@gmail.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=arnaldo.melo@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.