Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1217403 > unrolled thread

[PATCH v2 2/4] perf tests: make objdump disassemble zero blocks

Started byJan Stancek <jstancek@redhat.com>
First post2015-09-02 10:20 +0200
Last post2015-09-03 18:40 +0200
Articles 7 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v2 2/4] perf tests: make objdump disassemble zero blocks Jan Stancek <jstancek@redhat.com> - 2015-09-02 10:20 +0200
    Re: [PATCH v2 2/4] perf tests: make objdump disassemble zero blocks Adrian Hunter <adrian.hunter@intel.com> - 2015-09-03 11:20 +0200
      [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks Jan Stancek <jstancek@redhat.com> - 2015-09-03 13:30 +0200
        Re: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks Adrian Hunter <adrian.hunter@intel.com> - 2015-09-03 13:40 +0200
          Re: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-09-03 17:20 +0200
            Re: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks Jan Stancek <jstancek@redhat.com> - 2015-09-03 18:20 +0200
              Re: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-09-03 18:40 +0200

#1217403 — [PATCH v2 2/4] perf tests: make objdump disassemble zero blocks

FromJan Stancek <jstancek@redhat.com>
Date2015-09-02 10:20 +0200
Subject[PATCH v2 2/4] perf tests: make objdump disassemble zero blocks
Message-ID<q4bqV-7Rc-15@gated-at.bofh.it>
Add -z parameter to avoid skipping zero blocks:

 ffffffff816704fe <sysret_check+0x4b>:
 ffffffff816704fe:  7b 34         jnp ffffffff81670534 <sysret_signal+0x1c>
       ...
 ffffffff81670501 <sysret_careful>:
 ffffffff81670501:  0f ba e2 03   bt  $0x3,%edx
 ffffffff81670505:  73 11         jae ffffffff81670518 <sysret_signal>

Signed-off-by: Jan Stancek <jstancek@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
 tools/perf/tests/code-reading.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-reading.c
index 38ee90bc2228..375ba30e4ed0 100644
--- a/tools/perf/tests/code-reading.c
+++ b/tools/perf/tests/code-reading.c
@@ -128,7 +128,8 @@ static int read_via_objdump(const char *filename, u64 addr, void *buf,
 	FILE *f;
 	int ret;
 
-	fmt = "%s -d --start-address=0x%"PRIx64" --stop-address=0x%"PRIx64" %s";
+	fmt = "%s -z -d --start-address=0x%"PRIx64\
+		" --stop-address=0x%"PRIx64" %s";
 	ret = snprintf(cmd, sizeof(cmd), fmt, "objdump", addr, addr + len,
 		       filename);
 	if (ret <= 0 || (size_t)ret >= sizeof(cmd))
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1218112

FromAdrian Hunter <adrian.hunter@intel.com>
Date2015-09-03 11:20 +0200
Message-ID<q4yQy-7Gl-13@gated-at.bofh.it>
In reply to#1217403
On 02/09/15 11:19, Jan Stancek wrote:
> Add -z parameter to avoid skipping zero blocks:
> 
>  ffffffff816704fe <sysret_check+0x4b>:
>  ffffffff816704fe:  7b 34         jnp ffffffff81670534 <sysret_signal+0x1c>
>        ...
>  ffffffff81670501 <sysret_careful>:
>  ffffffff81670501:  0f ba e2 03   bt  $0x3,%edx
>  ffffffff81670505:  73 11         jae ffffffff81670518 <sysret_signal>
> 
> Signed-off-by: Jan Stancek <jstancek@redhat.com>
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Adrian Hunter <adrian.hunter@intel.com>
> Cc: David Ahern <dsahern@gmail.com>
> Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>

Apart from nitpick below:

Acked-by: Adrian Hunter <adrian.hunter@intel.com>

> ---
>  tools/perf/tests/code-reading.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-reading.c
> index 38ee90bc2228..375ba30e4ed0 100644
> --- a/tools/perf/tests/code-reading.c
> +++ b/tools/perf/tests/code-reading.c
> @@ -128,7 +128,8 @@ static int read_via_objdump(const char *filename, u64 addr, void *buf,
>  	FILE *f;
>  	int ret;
>  
> -	fmt = "%s -d --start-address=0x%"PRIx64" --stop-address=0x%"PRIx64" %s";
> +	fmt = "%s -z -d --start-address=0x%"PRIx64\

The line continuation is not needed but we are not that religious about long
lines especially if they contain string literals, so you could just make it
one line.

> +		" --stop-address=0x%"PRIx64" %s";
>  	ret = snprintf(cmd, sizeof(cmd), fmt, "objdump", addr, addr + len,
>  		       filename);
>  	if (ret <= 0 || (size_t)ret >= sizeof(cmd))
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1218171 — [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks

FromJan Stancek <jstancek@redhat.com>
Date2015-09-03 13:30 +0200
Subject[PATCH v3 2/4] perf tests: make objdump disassemble zero blocks
Message-ID<q4ASl-28C-1@gated-at.bofh.it>
In reply to#1218112
Add -z parameter to avoid skipping zero blocks:

 ffffffff816704fe <sysret_check+0x4b>:
 ffffffff816704fe:  7b 34         jnp ffffffff81670534 <sysret_signal+0x1c>
       ...
 ffffffff81670501 <sysret_careful>:
 ffffffff81670501:  0f ba e2 03   bt  $0x3,%edx
 ffffffff81670505:  73 11         jae ffffffff81670518 <sysret_signal>

Signed-off-by: Jan Stancek <jstancek@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
 tools/perf/tests/code-reading.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Changes in v3:
  don't split the string to multiple lines

diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-reading.c
index 7fd7ebc0b692..bbca3ce2ecef 100644
--- a/tools/perf/tests/code-reading.c
+++ b/tools/perf/tests/code-reading.c
@@ -130,7 +130,7 @@ static int read_via_objdump(const char *filename, u64 addr, void *buf,
 	FILE *f;
 	int ret;
 
-	fmt = "%s -d --start-address=0x%"PRIx64" --stop-address=0x%"PRIx64" %s";
+	fmt = "%s -z -d --start-address=0x%"PRIx64" --stop-address=0x%"PRIx64" %s";
 	ret = snprintf(cmd, sizeof(cmd), fmt, "objdump", addr, addr + len,
 		       filename);
 	if (ret <= 0 || (size_t)ret >= sizeof(cmd))
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1218180 — Re: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks

FromAdrian Hunter <adrian.hunter@intel.com>
Date2015-09-03 13:40 +0200
SubjectRe: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks
Message-ID<q4B22-2jJ-19@gated-at.bofh.it>
In reply to#1218171
On 03/09/15 14:23, Jan Stancek wrote:
> Add -z parameter to avoid skipping zero blocks:
> 
>  ffffffff816704fe <sysret_check+0x4b>:
>  ffffffff816704fe:  7b 34         jnp ffffffff81670534 <sysret_signal+0x1c>
>        ...
>  ffffffff81670501 <sysret_careful>:
>  ffffffff81670501:  0f ba e2 03   bt  $0x3,%edx
>  ffffffff81670505:  73 11         jae ffffffff81670518 <sysret_signal>
> 
> Signed-off-by: Jan Stancek <jstancek@redhat.com>
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Adrian Hunter <adrian.hunter@intel.com>
> Cc: David Ahern <dsahern@gmail.com>
> Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> ---
>  tools/perf/tests/code-reading.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Changes in v3:
>   don't split the string to multiple lines
> 

Acked-by: Adrian Hunter <adrian.hunter@intel.com>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1218335 — Re: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-09-03 17:20 +0200
SubjectRe: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks
Message-ID<q4EsW-7kn-35@gated-at.bofh.it>
In reply to#1218180
Em Thu, Sep 03, 2015 at 02:35:55PM +0300, Adrian Hunter escreveu:
> On 03/09/15 14:23, Jan Stancek wrote:
> > Add -z parameter to avoid skipping zero blocks:
> > 
> >  ffffffff816704fe <sysret_check+0x4b>:
> >  ffffffff816704fe:  7b 34         jnp ffffffff81670534 <sysret_signal+0x1c>
> >        ...
> >  ffffffff81670501 <sysret_careful>:
> >  ffffffff81670501:  0f ba e2 03   bt  $0x3,%edx
> >  ffffffff81670505:  73 11         jae ffffffff81670518 <sysret_signal>
> 
> Acked-by: Adrian Hunter <adrian.hunter@intel.com>

Ok, I am applying this, but it would be nice to know in which systems,
with which objdump/binutils versions which 'perf test' entry fails, with
the output of such failure.

Jan, can you please provide this info?

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1218420 — Re: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks

FromJan Stancek <jstancek@redhat.com>
Date2015-09-03 18:20 +0200
SubjectRe: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks
Message-ID<q4Fp0-dt-9@gated-at.bofh.it>
In reply to#1218335

[Multipart message — attachments visible in raw view] — view raw

On 09/03/2015 05:14 PM, Arnaldo Carvalho de Melo wrote:
> Em Thu, Sep 03, 2015 at 02:35:55PM +0300, Adrian Hunter escreveu:
>> On 03/09/15 14:23, Jan Stancek wrote:
>>> Add -z parameter to avoid skipping zero blocks:
>>>
>>>  ffffffff816704fe <sysret_check+0x4b>:
>>>  ffffffff816704fe:  7b 34         jnp ffffffff81670534 <sysret_signal+0x1c>
>>>        ...
>>>  ffffffff81670501 <sysret_careful>:
>>>  ffffffff81670501:  0f ba e2 03   bt  $0x3,%edx
>>>  ffffffff81670505:  73 11         jae ffffffff81670518 <sysret_signal>
>>
>> Acked-by: Adrian Hunter <adrian.hunter@intel.com>
> 
> Ok, I am applying this, but it would be nice to know in which systems,
> with which objdump/binutils versions which 'perf test' entry fails, with
> the output of such failure.
> 
> Jan, can you please provide this info?

Since my original report last year [1], I've seen it fail many times on
various HW (we run perf tests daily on RHEL). I haven't noticed any pattern
regarding HW it fails on.

Binutils versions go from binutils-2.23.52 to current latest from git.

It was always about "object code reading", from times it was perf test 21,
until now, when it's perf test 23.

I'm attaching examples of test output along with objdump output, that I
just ran on a random system using kernel 4.2.0.

HTH, regards,
Jan

[1] https://lkml.org/lkml/2014/12/11/222

[toc] | [prev] | [next] | [standalone]


#1218428 — Re: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-09-03 18:40 +0200
SubjectRe: [PATCH v3 2/4] perf tests: make objdump disassemble zero blocks
Message-ID<q4FIm-AC-13@gated-at.bofh.it>
In reply to#1218420
Em Thu, Sep 03, 2015 at 06:19:04PM +0200, Jan Stancek escreveu:
> On 09/03/2015 05:14 PM, Arnaldo Carvalho de Melo wrote:
> > Em Thu, Sep 03, 2015 at 02:35:55PM +0300, Adrian Hunter escreveu:
> >> On 03/09/15 14:23, Jan Stancek wrote:
> >>> Add -z parameter to avoid skipping zero blocks:
> >>>
> >>>  ffffffff816704fe <sysret_check+0x4b>:
> >>>  ffffffff816704fe:  7b 34         jnp ffffffff81670534 <sysret_signal+0x1c>
> >>>        ...
> >>>  ffffffff81670501 <sysret_careful>:
> >>>  ffffffff81670501:  0f ba e2 03   bt  $0x3,%edx
> >>>  ffffffff81670505:  73 11         jae ffffffff81670518 <sysret_signal>
> >>
> >> Acked-by: Adrian Hunter <adrian.hunter@intel.com>
> > 
> > Ok, I am applying this, but it would be nice to know in which systems,
> > with which objdump/binutils versions which 'perf test' entry fails, with
> > the output of such failure.
> > 
> > Jan, can you please provide this info?
> 
> Since my original report last year [1], I've seen it fail many times on

Ok, so it is a longstanding bug and now I have some tool output where it
fails to complement what was in these two patches, thanks, I'll update
it and put it on my next perf/urgent pull request to upstream.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web