lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-Id: <1447768342-17279-1-git-send-email-treeze.taeung@gmail.com>
Date:	Tue, 17 Nov 2015 22:52:22 +0900
From:	Taeung Song <treeze.taeung@...il.com>
To:	Arnaldo Carvalho de Melo <acme@...nel.org>
Cc:	linux-kernel@...r.kernel.org, jolsa@...hat.com,
	namhyung@...nel.org, Ingo Molnar <mingo@...hat.com>,
	Taeung Song <treeze.taeung@...il.com>
Subject: [PATCH v11 00/24] perf tools: Add 'perf-config' command

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.

Changes in v11:
	- Add --skel option to produce an skeleton with the possible config variables
	as suggested by Arnaldo (PATCH v11 19/24)
	- Add exception handling to --list option when nothing configured.
	as suggested by Arnaldo (PATCH v11 18/24)
	- Default action without option is to show an usage message.
	as suggested by Arnaldo (PATCH v11 1/24)

Changes in v10:
	- Split perf-config.txt into several patches for each section and replace some
	paragraphes with better proper things as suggested by Arnaldo and Namhyung
	(PATCH v10 2~15/22)
	- Correct wrong default values for each variable as suggested by Namhyung
	(PATCH v10 18/22)
	- Remove the compare name function.

Changes in v9:
	- Add the compare name functionality treating '-' and '-' as being the same thing
	for usability (PATCH v9 4/9)

Changes in v8:
	- Correct small typing errors in a perf-config documention (PATCH v8 1/8)
	- Split the collecting configs part into a separate patch (PATCH v8 3/8)
	- Use new enum and struct for default configs instead of hard-coded value
	as suggested by Namhyung (PATCH v8 4/8)

Changes in v7:
	- Modify explanations of syntax and options(color, gtk, tui, buildid, annotate)
	to be better proper descriptions as suggested by Arnaldo (PATCH v7 1/7)

Changes in v6:
	- Split a 'set' feature patch into two patch to separate normalize_value() from it. 
	(PATCH v6 5/7, PATCH v6 6/7)
	- Bug fix : 'remove' and 'set' malfunctions when without a specific file-option.
	(If file-option isn't used, 'remove' feature had to use both user and system
	config file and 'set' feature had to only handle user config file.)
	(PATCH v6 5/7, PATCH v6 7/7)

Changes in v5:
	- Simplify the switch statement in cmd_config()
	- Set a config file path with '--system' or '--user'
	instead of '--global' or '--system' as suggested by Namhyung. (PATCH v5 2/6)
	- The patch about 'get' and 'set 'split into two patchs
	as suggested by Namhyung. (PATCH v5 4/6, PATCH v5 5/6)

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)

Taeung Song (24):
  perf tools: Add 'perf-config' command
  perf tools: Add perf-config document
  perf config: Document variables for 'color' section in man page
  perf config: Document variables for 'tui' and 'gtk' sections in man
       	       page
  perf config: Document 'buildid.dir' variable in man page
  perf config: Document variables for 'annotate' section in man page
  perf config: Document variables for 'help' section in man page
  perf config: Document 'hist.percentage' variable in man page
  perf config: Document 'ui.show-headers' variable in man page
  perf config: Document variables for 'call-graph' section in man page
  perf config: Document variables for 'report' section in man page
  perf config: Document 'top.chidren' variable in man page
  perf config: Document 'man.viewer' variable in man page
  perf config: Document 'pager.<subcommand>' variables in man page
  perf config: Document 'kmem.default' variable in man page
  perf config: Add '--system' and '--user' options to select which
       	       config file is used
  perf config: Collect configs to handle config variables
  perf config: Add 'list-all' option to perf-config
  perf config: Add a option 'skel' to perf-config
  perf config: Add --verbose option for showing config description
  perf config: Add 'get' functionality
  perf config: Add 'set' feature
  perf config: normalize a value depending on default type of it
  perf config: Add a option 'remove' to perf-config

 tools/perf/Build                         |   1 +
 tools/perf/Documentation/perf-config.txt | 420 +++++++++++++++++
 tools/perf/builtin-config.c              | 746 +++++++++++++++++++++++++++++++
 tools/perf/builtin.h                     |   1 +
 tools/perf/command-list.txt              |   1 +
 tools/perf/perf.c                        |   1 +
 tools/perf/util/cache.h                  |  20 +
 tools/perf/util/config.c                 |  31 +-
 8 files changed, 1218 insertions(+), 3 deletions(-)
 create mode 100644 tools/perf/Documentation/perf-config.txt
 create mode 100644 tools/perf/builtin-config.c

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ