[PATCH 0/4] perf annotate-data: A couple of small updates

Namhyung Kim posted 4 patches 1 year, 10 months ago
tools/perf/util/annotate-data.c | 126 +++++++++++++++++++++++++-------
tools/perf/util/dwarf-aux.c     |  35 ++++++---
2 files changed, 125 insertions(+), 36 deletions(-)
[PATCH 0/4] perf annotate-data: A couple of small updates
Posted by Namhyung Kim 1 year, 10 months ago
Hello,

I am working on improving quality of the data type profiling and I
found some issues.  One is when more than one variables are placed at
the same location.  Then it should find the correct one based on the
given info rather than checking the first one and bailing out.  This
one (patch 2) can go to the perf-tools tree.

Another issue is use of the stack pointe register when it's not the
frame base register.  I found a case where rbp is used as the frame
base but rsp is also used to point some stack variables.  And it
confuses itself how to interpret the type of the variable.

I think these are rare cases but it would depends on the code pattern
and compiler behavior.  Anyway I can see a tiny improvement in my data
with this change. :)

Thanks,
Namhyung


Namhyung Kim (4):
  perf annotate-data: Improve debug message with location info
  perf dwarf-aux: Check pointer offset when checking variables
  perf dwarf-aux: Check variable address range properly
  perf annotate-data: Handle RSP if it's not the FB register

 tools/perf/util/annotate-data.c | 126 +++++++++++++++++++++++++-------
 tools/perf/util/dwarf-aux.c     |  35 ++++++---
 2 files changed, 125 insertions(+), 36 deletions(-)


base-commit: 0ffc8fca5c15a70f32c8aff12c566bbd3991bd0a
-- 
2.44.0.683.g7961c838ac-goog
Re: [PATCH 0/4] perf annotate-data: A couple of small updates
Posted by Arnaldo Carvalho de Melo 1 year, 9 months ago
On Fri, Apr 12, 2024 at 11:33:06AM -0700, Namhyung Kim wrote:
> Hello,
> 
> I am working on improving quality of the data type profiling and I
> found some issues.  One is when more than one variables are placed at
> the same location.  Then it should find the correct one based on the
> given info rather than checking the first one and bailing out.  This
> one (patch 2) can go to the perf-tools tree.
> 
> Another issue is use of the stack pointe register when it's not the
> frame base register.  I found a case where rbp is used as the frame
> base but rsp is also used to point some stack variables.  And it
> confuses itself how to interpret the type of the variable.
> 
> I think these are rare cases but it would depends on the code pattern
> and compiler behavior.  Anyway I can see a tiny improvement in my data

Thanks, applied to perf-tools-next,

- Arnaldo
> with this change. :)
 
> Thanks,
> Namhyung
> 
> 
> Namhyung Kim (4):
>   perf annotate-data: Improve debug message with location info
>   perf dwarf-aux: Check pointer offset when checking variables
>   perf dwarf-aux: Check variable address range properly
>   perf annotate-data: Handle RSP if it's not the FB register
> 
>  tools/perf/util/annotate-data.c | 126 +++++++++++++++++++++++++-------
>  tools/perf/util/dwarf-aux.c     |  35 ++++++---
>  2 files changed, 125 insertions(+), 36 deletions(-)
> 
> 
> base-commit: 0ffc8fca5c15a70f32c8aff12c566bbd3991bd0a
> -- 
> 2.44.0.683.g7961c838ac-goog