Re: [PATCH 2/4] perf inject jit: Fix JIT_CODE_MOVE filename
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
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
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