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 v5 1/6] perf tools: Add 'perf-config' command
[PATCH v5 2/6] perf config: Add '--system' and '--user' options to
                            select which config file to be used
[PATCH v5 3/6] perf config: Add a option 'list-all' to perf-config
[PATCH v5 4/6] perf config: Add 'get' functionality
[PATCH v5 5/6] perf config: Add 'set' feature
[PATCH v5 6/6] perf config: Add a option 'remove' to perf-config

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)

---
 tools/perf/Build                            |   1 +
 tools/perf/Documentation/perf-config.txt    | 407 ++++++++++++++++
 tools/perf/Documentation/perfconfig.example |  73 ++-
 tools/perf/builtin-config.c                 | 708 ++++++++++++++++++++++++++++
 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                    |  31 +-
 9 files changed, 1228 insertions(+), 14 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to