Re: [PATCH 2/4] perf inject jit: Fix JIT_CODE_MOVE filename

2019-09-30 Thread Arnaldo Carvalho de Melo
Em Sat, Sep 28, 2019 at 01:41:18AM +, Steve MacLean escreveu:
> During perf inject --jit, JIT_CODE_MOVE records were injecting MMAP records
> with an incorrect filename. Specifically it was missing the ".so" suffix.
> 
> Further the JIT_CODE_LOAD record were silently truncating the
> jr->load.code_index field to 32 bits before generating the filename.
> 
> Make both records emit the same filename based on the full 64 bit
> code_index field.

Thanks, applied and added:

[acme@quaco perf]$ git tag --contains 9b07e27f88b9 | grep ^v[[:digit:]] | sort 
--version-sort | head -5
v4.6
v4.6-rc1
v4.6-rc2
v4.6-rc3
v4.6-rc4
[acme@quaco perf]$

Cc: sta...@vger.kernel.org # v4.6+
Fixes: 9b07e27f88b9 ("perf inject: Add jitdump mmap injection support")

So that the stable folks get this backported.

- Arnaldo
 
> Cc: Peter Zijlstra 
> Cc: Ingo Molnar 
> Cc: Arnaldo Carvalho de Melo 
> Cc: Mark Rutland 
> Cc: Alexander Shishkin 
> Cc: Jiri Olsa 
> Cc: Namhyung Kim 
> Cc: Stephane Eranian 
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Steve MacLean 
> ---
>  tools/perf/util/jitdump.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c
> index 1bdf4c6..e3ccb0c 100644
> --- a/tools/perf/util/jitdump.c
> +++ b/tools/perf/util/jitdump.c
> @@ -395,7 +395,7 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd, 
> union jr_entry *jr)
>   size_t size;
>   u16 idr_size;
>   const char *sym;
> - uint32_t count;
> + uint64_t count;
>   int ret, csize, usize;
>   pid_t pid, tid;
>   struct {
> @@ -418,7 +418,7 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd, 
> union jr_entry *jr)
>   return -1;
>  
>   filename = event->mmap2.filename;
> - size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%u.so",
> + size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%" PRIu64 ".so",
>   jd->dir,
>   pid,
>   count);
> @@ -529,7 +529,7 @@ static int jit_repipe_code_move(struct jit_buf_desc *jd, 
> union jr_entry *jr)
>   return -1;
>  
>   filename = event->mmap2.filename;
> - size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%"PRIu64,
> + size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%" PRIu64 ".so",
>jd->dir,
>pid,
>jr->move.code_index);
> -- 
> 2.7.4

-- 

- Arnaldo


Re: [PATCH 2/4] perf inject jit: Fix JIT_CODE_MOVE filename

2019-09-29 Thread Jiri Olsa
On Sat, Sep 28, 2019 at 01:41:18AM +, Steve MacLean wrote:
> During perf inject --jit, JIT_CODE_MOVE records were injecting MMAP records
> with an incorrect filename. Specifically it was missing the ".so" suffix.
> 
> Further the JIT_CODE_LOAD record were silently truncating the
> jr->load.code_index field to 32 bits before generating the filename.
> 
> Make both records emit the same filename based on the full 64 bit
> code_index field.
> 
> Cc: Peter Zijlstra 
> Cc: Ingo Molnar 
> Cc: Arnaldo Carvalho de Melo 
> Cc: Mark Rutland 
> Cc: Alexander Shishkin 
> Cc: Jiri Olsa 
> Cc: Namhyung Kim 
> Cc: Stephane Eranian 
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Steve MacLean 

Acked-by: Jiri Olsa 

thanks,
jirka

> ---
>  tools/perf/util/jitdump.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c
> index 1bdf4c6..e3ccb0c 100644
> --- a/tools/perf/util/jitdump.c
> +++ b/tools/perf/util/jitdump.c
> @@ -395,7 +395,7 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd, 
> union jr_entry *jr)
>   size_t size;
>   u16 idr_size;
>   const char *sym;
> - uint32_t count;
> + uint64_t count;
>   int ret, csize, usize;
>   pid_t pid, tid;
>   struct {
> @@ -418,7 +418,7 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd, 
> union jr_entry *jr)
>   return -1;
>  
>   filename = event->mmap2.filename;
> - size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%u.so",
> + size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%" PRIu64 ".so",
>   jd->dir,
>   pid,
>   count);
> @@ -529,7 +529,7 @@ static int jit_repipe_code_move(struct jit_buf_desc *jd, 
> union jr_entry *jr)
>   return -1;
>  
>   filename = event->mmap2.filename;
> - size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%"PRIu64,
> + size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%" PRIu64 ".so",
>jd->dir,
>pid,
>jr->move.code_index);
> -- 
> 2.7.4


[PATCH 2/4] perf inject jit: Fix JIT_CODE_MOVE filename

2019-09-27 Thread Steve MacLean
During perf inject --jit, JIT_CODE_MOVE records were injecting MMAP records
with an incorrect filename. Specifically it was missing the ".so" suffix.

Further the JIT_CODE_LOAD record were silently truncating the
jr->load.code_index field to 32 bits before generating the filename.

Make both records emit the same filename based on the full 64 bit
code_index field.

Cc: Peter Zijlstra 
Cc: Ingo Molnar 
Cc: Arnaldo Carvalho de Melo 
Cc: Mark Rutland 
Cc: Alexander Shishkin 
Cc: Jiri Olsa 
Cc: Namhyung Kim 
Cc: Stephane Eranian 
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Steve MacLean 
---
 tools/perf/util/jitdump.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c
index 1bdf4c6..e3ccb0c 100644
--- a/tools/perf/util/jitdump.c
+++ b/tools/perf/util/jitdump.c
@@ -395,7 +395,7 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd, 
union jr_entry *jr)
size_t size;
u16 idr_size;
const char *sym;
-   uint32_t count;
+   uint64_t count;
int ret, csize, usize;
pid_t pid, tid;
struct {
@@ -418,7 +418,7 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd, 
union jr_entry *jr)
return -1;
 
filename = event->mmap2.filename;
-   size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%u.so",
+   size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%" PRIu64 ".so",
jd->dir,
pid,
count);
@@ -529,7 +529,7 @@ static int jit_repipe_code_move(struct jit_buf_desc *jd, 
union jr_entry *jr)
return -1;
 
filename = event->mmap2.filename;
-   size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%"PRIu64,
+   size = snprintf(filename, PATH_MAX, "%s/jitted-%d-%" PRIu64 ".so",
 jd->dir,
 pid,
 jr->move.code_index);
-- 
2.7.4