All of lore.kernel.org
 help / color / mirror / Atom feed
From: Taeung Song <treeze.taeung@gmail.com>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
	linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
	Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Wang Nan <wangnan0@huawei.com>
Subject: Re: [RFC PATCH v5 0/7] perf config: Introduce default config key-value pairs arrays
Date: Tue, 12 Jul 2016 15:03:52 +0900	[thread overview]
Message-ID: <57848848.1050003@gmail.com> (raw)
In-Reply-To: <20160712053738.GA20077@danjae.aot.lge.com>



On 07/12/2016 02:37 PM, Namhyung Kim wrote:
> Hi Taeung,
>
> On Tue, Jul 12, 2016 at 01:20:35PM +0900, Taeung Song wrote:
>> Hi, Namhyung :)
>>
>> As you know, the patch work from v3 to v4 took too long time
>> because of a patchset refactoring perf_config().
>>
>> So I guess it is hard for you to recall this patchset for new default
>> config arrays but could you a bit response two simple questions ?
>>
>>
>> 1) I renamed 'fb_ground' to 'fore_back_colors' in struct ui_browser_colorset
>> at ui/browser.c.
>>
>> Is it better than before ?
>
> Not sure.  I don't think the renaming is necessary.  If you do, I
> prefer simpler name like 'colors' or 'color_pair'.
>

I got it!

>>
>> 2) I added not only 'struct default_config_item' but also
>> 'struct default_config_section'.
>> (In order to use const type and 'const struct default_config_item *items'
>> instead of using 'struct list_head items')
>>
>> could you agree this way ?
>
> I'm ok with it.
>

Thanks,
Taeung

>
>
>>
>> On 07/06/2016 02:20 PM, Taeung Song wrote:
>>> Hello, :)
>>>
>>> When initializing default perf config values,
>>> we currently use values of actual type(int, bool, char *, etc.).
>>> But I suggest using default config key-value pairs arrays.
>>>
>>> For example,
>>> If there isn't user config value at ~/.perfconfig for 'annotate.use_offset' config variable,
>>> default value for it is 'true' bool type value in perf like below.
>>>
>>> At ui/browsers/annoate.c
>>>
>>> static struct annotate_browser_opt {
>>>          bool hide_src_code,
>>>               use_offset,
>>> 	    jump_arrows,
>>> 	    show_linenr,
>>> 	    show_nr_jumps,
>>> 	    show_total_period;
>>> } annotate_browser__opts = {
>>>          .use_offset      = true,
>>>          .jump_arrows     = true,
>>> };
>>>
>>> But if we use new config arrays that have all default config key-value pairs,
>>> we could initialize default config values with them.
>>>
>>> If we do, we can manage default perf config values at one spot (like util/config.c)
>>> and It can be easy and simple to modify default config values or add new configs.
>>>
>>> For example,
>>> If we use new default config arrays and there isn't user config value for 'annoate.use_offset'
>>> default value for it will be set as annotate_config_items[CONFIG_ANNOATE_USE_OFFSET].value
>>> instead of actual boolean type value 'true'.
>>>
>>> IMHO, I think it would needed to use new default config arrays
>>> to manage default perf config values more effectively.
>>> And this pathset contains patchs for only 'colors' and 'annoate' section
>>> because waiting for other opinions.
>>>
>>> If you review this patchset, I'd appreciate it :-)
>>>
>>> Thanks,
>>> Taeung
>>>
>>> v5:
>>> - rebased on current acme/perf/core
>>>
>>> v4:
>>> - rename 'fb_ground' to 'fore_back_colors' (Namhyung)
>>> - add struct default_config_section
>>> - split first patch[PATCH 1/7] as two
>>> - remove perf_default_config_init() at perf.c
>>> - rebased on current acme/perf/core
>>>
>>> v3:
>>> - remove default config arrays for the rest sections except 'colors' and 'annotate'
>>> - use combined {fore, back}ground colors instead of each two color
>>> - introduce perf_default_config_init() that call all default_*_config_init()
>>>     for each config section
>>>
>>> v2:
>>> - rename 'ui_browser__config_gcolors' to 'ui_browser__config_colors' (Arnaldo)
>>> - change 'ground colors' to '{back, fore}ground colors' (Arnaldo)
>>> - use strtok + ltrim instead of strchr and while (isspace(*++bg)); (Arnaldo)
>>>
>>> Taeung Song (7):
>>>     perf config: Introduce default_config_section and default_config_item
>>>       for default config key-value pairs
>>>     perf config: Add macros assigning key-value pairs to
>>>       default_config_item
>>>     perf config: Add 'colors' section default configs arrrays
>>>     perf config: Use combined {fore,back}ground colors value instead of
>>>       each two color
>>>     perf config: Initialize ui_browser__colorsets with default config
>>>       items
>>>     perf config: Add 'annotate' section default configs arrrays
>>>     perf config: Initialize annotate_browser__opts with default config
>>>       items
>>>
>>>    tools/perf/ui/browser.c           | 64 +++++++++++++++++-------------
>>>    tools/perf/ui/browsers/annotate.c | 16 ++++++--
>>>    tools/perf/util/config.c          | 26 +++++++++++++
>>>    tools/perf/util/config.h          | 82 +++++++++++++++++++++++++++++++++++++++
>>>    4 files changed, 156 insertions(+), 32 deletions(-)
>>>

      reply	other threads:[~2016-07-12  6:03 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-06  5:20 [RFC PATCH v5 0/7] perf config: Introduce default config key-value pairs arrays Taeung Song
2016-07-06  5:20 ` [PATCH v5 1/7] perf config: Introduce default_config_section and default_config_item for default config key-value pairs Taeung Song
2016-07-06  5:20 ` [PATCH v5 2/7] perf config: Add macros assigning key-value pairs to default_config_item Taeung Song
2016-07-06  5:20 ` [PATCH v5 3/7] perf config: Add 'colors' section default configs arrrays Taeung Song
2016-07-06  5:20 ` [PATCH v5 4/7] perf config: Use combined {fore,back}ground colors value instead of each two color Taeung Song
2016-07-06  5:20 ` [PATCH v5 5/7] perf config: Initialize ui_browser__colorsets with default config items Taeung Song
2016-07-12  5:39   ` Namhyung Kim
2016-07-12  6:04     ` Taeung Song
2016-07-06  5:20 ` [PATCH v5 6/7] perf config: Add 'annotate' section default configs arrrays Taeung Song
2016-07-06  5:20 ` [PATCH v5 7/7] perf config: Initialize annotate_browser__opts with default config items Taeung Song
2016-07-12  5:47   ` Namhyung Kim
2016-07-12  6:09     ` Taeung Song
2016-07-12  4:20 ` [RFC PATCH v5 0/7] perf config: Introduce default config key-value pairs arrays Taeung Song
2016-07-12  5:37   ` Namhyung Kim
2016-07-12  6:03     ` Taeung Song [this message]

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=57848848.1050003@gmail.com \
    --to=treeze.taeung@gmail.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=wangnan0@huawei.com \
    /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.