lkml.org 
[lkml]   [2017]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 27/41] perf config: Allow creating empty config set for config file autogeneration
    Date
    From: Taeung Song <treeze.taeung@gmail.com>

    When there isn't a config file (e.g. ~/.perfconfig) or it has nothing,
    the config set wasn't created.

    If the config set does not exist, a config file can't be autogenerated.

    So allow creating a empty config set in the above case,
    then we can support the config file autogeneration.

    Before:

    $ rm -f ~/.perfconfig
    $ perf config --user report.children=false

    $ cat ~/.perfconfig
    cat: /root/.perfconfig: No such file or directory

    But I think it should work even if there isn't a config file.

    After:

    $ rm -f ~/.perfconfig
    $ perf config --user report.children=false

    $ cat ~/.perfconfig
    # this file is auto-generated.
    [report]
    children = false

    NOTE:

    As a result, if perf_config_set__init() fails, it looks as if the config
    set isn't freed. But it isn't a problem. Because the config set will be
    freed by perf_config_set__delete() at the end of cmd_config().

    Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: http://lkml.kernel.org/r/1504754336-9824-1-git-send-email-treeze.taeung@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/util/config.c | 5 +----
    1 file changed, 1 insertion(+), 4 deletions(-)

    diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c
    index bc75596f9e79..d2b6983b1779 100644
    --- a/tools/perf/util/config.c
    +++ b/tools/perf/util/config.c
    @@ -700,10 +700,7 @@ struct perf_config_set *perf_config_set__new(void)

    if (set) {
    INIT_LIST_HEAD(&set->sections);
    - if (perf_config_set__init(set) < 0) {
    - perf_config_set__delete(set);
    - set = NULL;
    - }
    + perf_config_set__init(set);
    }

    return set;
    --
    2.13.5
    \
     
     \ /
      Last update: 2017-09-12 17:16    [W:4.049 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site