linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/5] perf tools: Add 'perf-config' command
@ 2015-07-26 15:58 Taeung Song
  2015-07-26 15:58 ` [PATCH v4 1/5] " Taeung Song
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Taeung Song @ 2015-07-26 15:58 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, jolsa, namhyung, Ingo Molnar, Taeung Song

So far, it is difficult that the state of perf configs is looked through
and there's no knowing what kind of other variables except variables in perfconfig.example.
Also perf configs can't be changed without manually modifying $HOME/.perfconfig or
$(sysconfdir)/perfconfig file. So I suggest this patchset of the perf-config command
which can list, get, set, remove perf configs or list with default config values as below.

[PATCH v4 1/5] perf tools: Add 'perf-config' command
[PATCH v4 2/5] perf config: Add '--system' and '--global' options to
       	       	    	    select which config file to be used
[PATCH v4 3/5] perf config: Add functions which can get or set perf config variables
[PATCH v4 4/5] perf config: Add a option 'list-all' to perf-config
[PATCH v4 5/5] perf config: Add a option 'remove' to perf-config

Changes in v4:
	- If some config value is default value, notice it is '(default)'
	as suggested by Jirka. (PATCH v4 3/5)

	- If there wasn't any perfconfig file, perf-config malfunctioned like
	Jirka pointed out. So add exception routine with '--global' and '--system'
	option which can select perf config file path. (PATCH v4 2/5)

Changes in v3:
	- Add a config variable 'kmem.default' with a default value as suggested by Namhyung.
	(PATCH v3 2/5, PATCH v4 3/5)

Changes in v2:
	- Change option name of listing all configs as '--list-all' instead of '--all'
	as suggested by Namhyung. (PATCH v2 3/4, PATCH v4 4/5)

	- Correct small infelicities or typing errors in a perf-config documention
	as suggested by Arnaldo. (PATCH v2 1/4, PATCH v4 1/5)

	- Declaration a global variable 'static struct default_configsets' has config variables
	with default values instead of using a 'util/PERFCONFIG-DEFAULT' file.
	(PATCH v2 3/4, PATCH v4 3/5)

	- Add a function to normalize a value and check data type of it.
	(PATCH v2 2/4, PATCH v4 3/5)

	- Simplify parsing arguments as arguments is just divided by '=' and then
	in front of '.' is a section, between '.' and '=' is a name, and behind '=' is a value.
	(PATCH v2 2/4, PATCH v4 3/5)

	- If run perf-config command without any option, perf-config work as '--list'.
	(PATCH v2 1/4, PATCH v4 1/5)

---
 tools/perf/Build                            |   1 +
 tools/perf/Documentation/perf-config.txt    | 407 ++++++++++++++++
 tools/perf/Documentation/perfconfig.example |  73 ++-
 tools/perf/builtin-config.c                 | 718 ++++++++++++++++++++++++++++
 tools/perf/builtin.h                        |   1 +
 tools/perf/command-list.txt                 |   1 +
 tools/perf/perf.c                           |   1 +
 tools/perf/util/cache.h                     |  19 +
 tools/perf/util/config.c                    |  29 +-
 9 files changed, 1236 insertions(+), 14 deletions(-)
 create mode 100644 tools/perf/Documentation/perf-config.txt
 create mode 100644 tools/perf/builtin-config.c

-- 
1.9.1


^ permalink raw reply	[flat|nested] 16+ messages in thread
* [PATCH v4 0/5] perf tools: Add 'perf-config' command
@ 2015-07-17  1:39 Taeung Song
  2015-07-17  1:40 ` [PATCH v4 4/5] perf config: Add a option 'list-all' to perf-config Taeung Song
  0 siblings, 1 reply; 16+ messages in thread
From: Taeung Song @ 2015-07-17  1:39 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, jolsa, namhyung, Ingo Molnar, Taeung Song

Changes in v4:
	- If some config value is default value, notice it is '(default)'as below.

	  # perf config colors.normal
	  colors.normal=lightgray, default (default)

	- A config file path is only decided in perf_config().
	And a perf-config command depend on perf_config() deciding a config file path.
	So if the config file path is NULL because of some reason like no such file,
	a perf-config command can't write to the file. So, I added new options
	which are '--global' and '--system' to be enable to select
	config file path to be used without perf_config().

Changes in v3:
	- Add a config variable 'kmem.default' with a default value
	into 'struct default_configset' which has default config variables and values.

	- Add a option '--global' and '--local' to enable config file location to  be selected

Changes in v2:
	- Renaming variables a more suitable name
	  1. '--list-all' instead of '--all'
	  2. 'name' instead of 'subkey'
	  3. 'section, name, value' instead of 'given_section, subkey, value'

	- Correct small infelicities or typing errors in a perf-config documention.

	- Remove a part description of report.children
	because it was duplicated in Documentation/callchain-overhead-calculation.txt

	- Use a variable 'int actions' instead of struct params which has
	'bool list_action' , 'bool get_action’ and etc. , to simplify a branching statement
	for perf-config options.

	- Declaration a global variable 'static struct default_configsets' has config variables
	with default values instead of using a 'util/PERFCONFIG-DEFAULT' file
	and remove functions merge() and perse_key() to get perf config default values.

	- Add a function to normalize a value and check data type of it.

	- Simplify parsing arguments as arguments is just divided by '=' and then
	in front of '.' is a section, between '.' and '=' is a name, and behind '=' is a value.

	- Print config variables 'struct default_configsets' haven't 

	- Make a command ’perf config' without a option work as with a option '—list'
	instead of '--list-all’.

Taeung Song (5):
  perf tools: Add 'perf-config' command
  perf config: Add '--system' and '--global' options to be able to
    select which config file to be used
  perf config: Add functions which can get or set perf config variables
  perf config: Add a option 'list-all' to perf-config
  perf config: Add a option 'remove' to perf-config

 tools/perf/Build                            |   1 +
 tools/perf/Documentation/perf-config.txt    | 407 ++++++++++++++++
 tools/perf/Documentation/perfconfig.example |  73 ++-
 tools/perf/builtin-config.c                 | 718 ++++++++++++++++++++++++++++
 tools/perf/builtin.h                        |   1 +
 tools/perf/command-list.txt                 |   1 +
 tools/perf/perf.c                           |   1 +
 tools/perf/util/cache.h                     |  19 +
 tools/perf/util/config.c                    |  29 +-
 9 files changed, 1236 insertions(+), 14 deletions(-)
 create mode 100644 tools/perf/Documentation/perf-config.txt
 create mode 100644 tools/perf/builtin-config.c

-- 
1.9.1


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

end of thread, other threads:[~2015-08-09  7:54 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-26 15:58 [PATCH v4 0/5] perf tools: Add 'perf-config' command Taeung Song
2015-07-26 15:58 ` [PATCH v4 1/5] " Taeung Song
2015-07-27  7:59   ` Namhyung Kim
2015-07-26 15:58 ` [PATCH v4 2/5] perf config: Add '--system' and '--global' options to select which config file is used Taeung Song
2015-07-27  8:06   ` Namhyung Kim
2015-07-26 15:58 ` [PATCH v4 3/5] perf config: Add functions which can get or set perf config variables Taeung Song
2015-07-27  8:38   ` Namhyung Kim
2015-07-26 15:58 ` [PATCH v4 4/5] perf config: Add a option 'list-all' to perf-config Taeung Song
2015-07-27  8:48   ` Namhyung Kim
2015-08-07  1:12     ` taeung
2015-08-08  9:50       ` Taewoong Song
2015-08-09  3:07         ` Namhyung Kim
2015-08-09  3:01       ` Namhyung Kim
2015-08-09  7:54         ` Taewoong Song
2015-07-26 15:58 ` [PATCH v4 5/5] perf config: Add a option 'remove' " Taeung Song
  -- strict thread matches above, loose matches on Subject: below --
2015-07-17  1:39 [PATCH v4 0/5] perf tools: Add 'perf-config' command Taeung Song
2015-07-17  1:40 ` [PATCH v4 4/5] perf config: Add a option 'list-all' to perf-config Taeung Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).