[PATCHSET 0/4] perf annotate-data: Update data-type profiling quality (v2)
From: Namhyung Kim
Date: Wed Aug 21 2024 - 19:26:39 EST
Hello,
This is continuation of data type profiling series to improve its quality.
I've also found some more bugs and room for improvements.
Acutally it depends on the a couple of fixes I sent out yesterday.
But as they will be merged to perf-tools-next, I omitted them here.
There's no dramatic improvements at this moment, but I handled some
corner cases which makes instruction tracking more flexible. One
change is when it accesses (stores) a stack slot for the first time.
As it doesn't save anything there yet, it doesn't come with a type
info. In that case it can try to process the instruction with
update_insn_state() and get the type information again.
Another update is when compiler generates the debug info inaccurately.
A variable information is there but in some cases it was using another
register to access the data and it resulted in no type information.
So I tracked the (direct) register move and update the type info for
the source registre as well.
The code is available at 'perf/data-profile-update-v2' branch in
git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
Thanks,
Namhyung
Namhyung Kim (4):
perf dwarf-aux: Handle bitfield members from pointer access
perf annotate-data: Update debug messages
perf annotate-data: Update stack slot for the store
perf annotate-data: Copy back variable types after move
tools/perf/arch/x86/annotate/instructions.c | 8 ++
tools/perf/util/annotate-data.c | 105 +++++++++++++++++---
tools/perf/util/annotate-data.h | 1 +
tools/perf/util/dwarf-aux.c | 11 +-
4 files changed, 109 insertions(+), 16 deletions(-)
--
2.46.0.184.g6999bdac58-goog