From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Jiri Olsa <jolsa@kernel.org>, LKML <linux-kernel@vger.kernel.org>,
David Ahern <dsahern@gmail.com>, Andi Kleen <andi@firstfloor.org>,
Wang Nan <wangnan0@huawei.com>
Subject: Re: [PATCH 4/4] perf tools: Fallback to srcdir/Documentation/tips.txt
Date: Tue, 12 Jan 2016 12:22:56 -0300 [thread overview]
Message-ID: <20160112152256.GC18367@kernel.org> (raw)
In-Reply-To: <1452334589-8782-4-git-send-email-namhyung@kernel.org>
Em Sat, Jan 09, 2016 at 07:16:29PM +0900, Namhyung Kim escreveu:
> Some people don't install perf, but just use compiled version in the
> source. Fallback to lookup the source directory for those poor guys. :)
>
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
So, after applying this I tried:
$ rm -f ~/share/doc/perf-tip/tips.txt
To make it fallback and:
$ perf report --stdio | tail -3
#
# (Tip: get more memory! ;-p)
#
$
Doesn't work, looking at what it is trying to find:
# perf trace --no-inherit -e access perf report --stdio
0.090 ( 0.010 ms): access(filename: /etc/ld.so.preload, mode: R ) = -1 ENOENT No such file or directory
2.013 ( 0.014 ms): access(filename: /home/acme/etc/perfconfig, mode: R ) = -1 ENOENT No such file or directory
2.045 ( 0.004 ms): access(filename: /home/acme/etc/perfconfig, mode: R ) = -1 ENOENT No such file or directory
2.076 ( 0.005 ms): access(filename: /home/acme/etc/perfconfig, mode: R ) = -1 ENOENT No such file or directory
2.239 ( 0.006 ms): access(filename: /usr/bin/pager, mode: X ) = -1 ENOENT No such file or directory
2.244 ( 0.004 ms): access(filename: /usr/bin/less, mode: X ) = 0
16.969 ( 0.018 ms): access(filename: /home/acme/share/doc/perf-tip/tips.txt ) = -1 ENOENT No such file or directory
# To display the perf.data header info, please use --header/--header-only options.
#
#
# Total Lost Samples: 0
#
# Samples: 5 of event 'cycles:pp'
# Event count (approx.): 24954605
#
# Overhead Command Shared Object Symbol
# ........ ....... ................ .........................
#
99.68% usleep [kernel.vmlinux] [k] vma_rb_erase
0.32% perf [kernel.vmlinux] [k] nmi_cpu_backtrace
0.00% perf [kernel.vmlinux] [k] native_write_msr_safe
#
# (Tip: get more memory! ;-p)
#
#
Also you're not just fallbacking, you did this other unrelated change, no?
- const char *help = perf_tip(TIPDIR);
+ const char *help = perf_tip(system_path(TIPDIR));
Investigating...
> ---
> tools/perf/builtin-report.c | 10 +++++++++-
> tools/perf/util/util.c | 11 ++++++-----
> 2 files changed, 15 insertions(+), 6 deletions(-)
>
> diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
> index d5a42ee12529..2bf537f190a0 100644
> --- a/tools/perf/builtin-report.c
> +++ b/tools/perf/builtin-report.c
> @@ -28,6 +28,7 @@
> #include "util/tool.h"
>
> #include <subcmd/parse-options.h>
> +#include <subcmd/exec-cmd.h>
> #include "util/parse-events.h"
>
> #include "util/thread.h"
> @@ -433,7 +434,14 @@ static int report__browse_hists(struct report *rep)
> int ret;
> struct perf_session *session = rep->session;
> struct perf_evlist *evlist = session->evlist;
> - const char *help = perf_tip(TIPDIR);
> + const char *help = perf_tip(system_path(TIPDIR));
> +
> + if (help == NULL) {
> + /* fallback for people who don't install perf ;-) */
> + help = perf_tip(DOCDIR);
> + if (help == NULL)
> + help = "Cannot load tips.txt file, please install perf!";
> + }
>
> switch (use_browser) {
> case 1:
> diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
> index 88b8f8d21f58..92e8543dadf9 100644
> --- a/tools/perf/util/util.c
> +++ b/tools/perf/util/util.c
> @@ -17,7 +17,6 @@
> #include <unistd.h>
> #include "callchain.h"
> #include "strlist.h"
> -#include <subcmd/exec-cmd.h>
>
> struct callchain_param callchain_param = {
> .mode = CHAIN_GRAPH_ABS,
> @@ -672,14 +671,16 @@ const char *perf_tip(const char *dirpath)
> struct str_node *node;
> char *tip = NULL;
> struct strlist_config conf = {
> - .dirname = system_path(dirpath) ,
> + .dirname = dirpath,
> + .file_only = true,
> };
>
> tips = strlist__new("tips.txt", &conf);
> - if (tips == NULL || strlist__nr_entries(tips) == 1) {
> - tip = (char *)"Cannot find tips.txt file";
> + if (tips == NULL)
> + return "Tip: get more memory! ;-p";
> +
> + if (strlist__nr_entries(tips) == 0)
> goto out;
> - }
>
> node = strlist__entry(tips, random() % strlist__nr_entries(tips));
> if (asprintf(&tip, "Tip: %s", node->s) < 0)
> --
> 2.6.4
next prev parent reply other threads:[~2016-01-12 15:23 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-09 10:16 [PATCH 1/4] perf tools: Add more usage tips Namhyung Kim
2016-01-09 10:16 ` [PATCH 2/4] perf tools: Add file_only config option to strlist Namhyung Kim
2016-01-13 9:42 ` [tip:perf/urgent] " tip-bot for Namhyung Kim
2016-01-09 10:16 ` [PATCH 3/4] perf tools: Set and pass DOCDIR to builtin-report.c Namhyung Kim
2016-01-13 9:42 ` [tip:perf/urgent] " tip-bot for Namhyung Kim
2016-01-09 10:16 ` [PATCH 4/4] perf tools: Fallback to srcdir/Documentation/tips.txt Namhyung Kim
2016-01-11 9:18 ` Jiri Olsa
2016-01-12 15:34 ` Arnaldo Carvalho de Melo
2016-01-12 15:39 ` Arnaldo Carvalho de Melo
2016-01-12 15:22 ` Arnaldo Carvalho de Melo [this message]
2016-01-13 9:43 ` [tip:perf/urgent] perf tools: Fallback to srcdir/Documentation/ tips.txt tip-bot for Namhyung Kim
2016-01-10 3:38 ` [PATCH 1/4] perf tools: Add more usage tips Andi Kleen
2016-01-11 10:35 ` [PATCH v2 " Namhyung Kim
2016-01-11 10:53 ` [PATCH 5/4] perf ui/tui: Print helpline message as is Namhyung Kim
2016-01-12 15:23 ` Arnaldo Carvalho de Melo
2016-01-13 9:42 ` [tip:perf/urgent] " tip-bot for Namhyung Kim
2016-01-13 9:41 ` [tip:perf/urgent] perf tools: Add more usage tips tip-bot for Namhyung Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160112152256.GC18367@kernel.org \
--to=acme@kernel.org \
--cc=andi@firstfloor.org \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=wangnan0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.