lkml.org 
[lkml]   [2015]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH 5/7] perf top: Delay UI browser setup after initialization is done
    Em Thu, Dec 10, 2015 at 12:00:57PM +0900, Namhyung Kim escreveu:
    > Move setup_browser after all necessary initialization is done. This
    > is to remove the browser dependency from usage_with_options() and
    > friends.

    So, please try:

    perf top -C 0 -p 1

    So that we get a command line validation error that will cause cmd_top
    to trip this:

    status = target__validate(target);
    if (status) {
    target__strerror(target, status, errbuf, BUFSIZ);
    ui__warning("%s\n", errbuf);
    }

    ui__warning() will emit the warning to stdio, and this message will be
    seen only after the user exits the tool:

    [root@ssdandy ~]# perf top -C 0 -p 1
    Warning:
    PID/TID switch overriding CPU

    Where without this patch the user will be warning with a popup window,
    that has to be acknowledged with an enter before proceeding.

    Looking at the other patches to check which can be processed now,
    leaving this one for later.

    - Arnaldo

    > Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
    > ---
    > tools/perf/builtin-top.c | 14 +++++++-------
    > 1 file changed, 7 insertions(+), 7 deletions(-)
    >
    > diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
    > index 7e2e72e6d9d1..75134e106a62 100644
    > --- a/tools/perf/builtin-top.c
    > +++ b/tools/perf/builtin-top.c
    > @@ -1252,13 +1252,6 @@ int cmd_top(int argc, const char **argv, const char *prefix __maybe_unused)
    > goto out_delete_evlist;
    > }
    >
    > - if (top.use_stdio)
    > - use_browser = 0;
    > - else if (top.use_tui)
    > - use_browser = 1;
    > -
    > - setup_browser(false);
    > -
    > status = target__validate(target);
    > if (status) {
    > target__strerror(target, status, errbuf, BUFSIZ);
    > @@ -1326,6 +1319,13 @@ int cmd_top(int argc, const char **argv, const char *prefix __maybe_unused)
    > sigaction(SIGWINCH, &act, NULL);
    > }
    >
    > + if (top.use_stdio)
    > + use_browser = 0;
    > + else if (top.use_tui)
    > + use_browser = 1;
    > +
    > + setup_browser(false);
    > +
    > status = __cmd_top(&top);
    >
    > out_delete_evlist:
    > --
    > 2.6.2


    \
     
     \ /
      Last update: 2015-12-10 19:01    [W:6.171 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site