From: Namhyung Kim <namhyung@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Jiri Olsa <jolsa@kernel.org>, LKML <linux-kernel@vger.kernel.org>,
kernel-team@lge.com, David Ahern <dsahern@gmail.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Wang Nan <wangnan0@huawei.com>
Subject: Re: [PATCH v3 4/6] perf test: Decompress kernel module before objdump
Date: Thu, 8 Jun 2017 09:37:37 +0900 [thread overview]
Message-ID: <20170608003737.GC2116@sejong> (raw)
In-Reply-To: <20170607222520.GB6949@kernel.org>
On Wed, Jun 07, 2017 at 07:25:20PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Thu, Jun 08, 2017 at 12:39:01AM +0900, Namhyung Kim escreveu:
> > If a kernel modules is compressed, it should be decompressed before
> > running objdump to parse binary data correctly. This fixes a failure of
> > object code reading test for me.
> >
> > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> > ---
> > tools/perf/tests/code-reading.c | 20 +++++++++++++++++++-
> > 1 file changed, 19 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-reading.c
> > index 1f14e7612cbb..94b7c7b02bde 100644
> > --- a/tools/perf/tests/code-reading.c
> > +++ b/tools/perf/tests/code-reading.c
> > @@ -229,6 +229,8 @@ static int read_object_code(u64 addr, size_t len, u8 cpumode,
> > unsigned char buf2[BUFSZ];
> > size_t ret_len;
> > u64 objdump_addr;
> > + const char *objdump_name;
> > + char decomp_name[KMOD_DECOMP_LEN];
> > int ret;
> >
> > pr_debug("Reading object code for memory address: %#"PRIx64"\n", addr);
> > @@ -289,9 +291,25 @@ static int read_object_code(u64 addr, size_t len, u8 cpumode,
> > state->done[state->done_cnt++] = al.map->start;
> > }
> >
> > + objdump_name = al.map->dso->long_name;
> > + if (dso__needs_decompress(al.map->dso)) {
> > + if (dso__decompress_kmodule_path(al.map->dso, objdump_name,
> > + decomp_name,
> > + sizeof(decomp_name)) < 0) {
> > + pr_debug("decompression failed\n");
>
> This is a too vague message, to help with debugging I suggest printing
> more detauls such as the file being decompressed and perhaps the
> decomp_name as well.
Looking at the code, it already printed the filename so current
message seems ok.
$ sudo perf test -v 'code reading'
22: Object code reading :
--- start ---
...
Reading object code for memory address: 0xffffffffa0305c56
File is: /lib/modules/4.11.3-1-ARCH/kernel/fs/btrfs/btrfs.ko.gz
On file address is: 0x61cc6
decompression failed
test child finished with -1
---- end ----
Object code reading: FAILED!
Thanks,
Namhyung
next prev parent reply other threads:[~2017-06-08 0:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-07 15:38 [PATCHSET v3 0/6] perf tools: Fix for Compressed kernel modules Namhyung Kim
2017-06-07 15:38 ` [PATCH v3 1/6] perf tools: Introduce dso__decompress_kmodule_{fd,path} Namhyung Kim
2017-06-07 15:38 ` [PATCH v3 2/6] perf annotate: Use dso__decompress_kmodule_path() Namhyung Kim
2017-06-07 15:39 ` [PATCH v3 3/6] perf tools: Decompress kernel module when reading DSO data Namhyung Kim
2017-06-07 22:23 ` Arnaldo Carvalho de Melo
2017-06-07 23:53 ` Namhyung Kim
2017-06-07 15:39 ` [PATCH v3 4/6] perf test: Decompress kernel module before objdump Namhyung Kim
2017-06-07 22:25 ` Arnaldo Carvalho de Melo
2017-06-07 23:57 ` Namhyung Kim
2017-06-08 0:37 ` Namhyung Kim [this message]
2017-06-07 15:39 ` [PATCH v3 5/6] perf symbols: Keep DSO->symtab_type after decompress Namhyung Kim
2017-06-07 15:39 ` [PATCH v3 6/6] perf symbols: Kill dso__build_id_is_kmod() 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=20170608003737.GC2116@sejong \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=kernel-team@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@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.