perf tools fixes for v6.5: 3rd batch
- Revert a patch that unconditionally resolved addresses to inlines in callchains, something that was done before when DWARF mode was asked for, but could as well be done when just frame pointers (the default) was selected. This enriches the callchains with inlines but the way to resolve it is gross right now, relying on addr2line, and even if we come up with an efficient way of processing all the associated DWARF info for a big file as vmlinux is, this has to be something people opt-in, as it will still result in overheads, so revert it until we get this done in a saner way. - Update the x86 msr-index.h header with the kernel original, no change in tooling output, just addresses a tools/perf build warning. - Resolve a regression where special "tool events", such as "duration_time" were being presented for all CPUs, when it only makes sense to show it for the workload, that is, just once. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCZNP/OAAKCRCyPKLppCJ+ J7cGAQDgNpsAqGk+/Xkk7lPcp8aJ7q+5oaxv8iaGhdblq7V52gD+L2t8sNPQYWE3 sy2QQ+9tsZiONfpdxknsduxoyfE+Vgs= =CRYB -----END PGP SIGNATURE----- Merge tag 'perf-tools-fixes-for-v6.5-3-2023-08-09' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux Pull perf tools fixes from Arnaldo Carvalho de Melo: - Revert a patch that unconditionally resolved addresses to inlines in callchains, something that was done before when DWARF mode was asked for, but could as well be done when just frame pointers (the default) was selected. This enriches the callchains with inlines but the way to resolve it is gross right now, relying on addr2line, and even if we come up with an efficient way of processing all the associated DWARF info for a big file as vmlinux is, this has to be something people opt-in, as it will still result in overheads, so revert it until we get this done in a saner way. - Update the x86 msr-index.h header with the kernel original, no change in tooling output, just addresses a tools/perf build warning. - Resolve a regression where special "tool events", such as "duration_time" were being presented for all CPUs, when it only makes sense to show it for the workload, that is, just once. * tag 'perf-tools-fixes-for-v6.5-3-2023-08-09' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: perf stat: Don't display zero tool counts tools arch x86: Sync the msr-index.h copy with the kernel sources Revert "perf report: Append inlines to non-DWARF callchains"
This commit is contained in:
Коммит
b4f63b0f2d
|
@ -545,6 +545,7 @@
|
|||
#define MSR_AMD64_DE_CFG 0xc0011029
|
||||
#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT 1
|
||||
#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE BIT_ULL(MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT)
|
||||
#define MSR_AMD64_DE_CFG_ZEN2_FP_BACKUP_FIX_BIT 9
|
||||
|
||||
#define MSR_AMD64_BU_CFG2 0xc001102a
|
||||
#define MSR_AMD64_IBSFETCHCTL 0xc0011030
|
||||
|
|
|
@ -45,7 +45,6 @@
|
|||
|
||||
static void __machine__remove_thread(struct machine *machine, struct thread_rb_node *nd,
|
||||
struct thread *th, bool lock);
|
||||
static int append_inlines(struct callchain_cursor *cursor, struct map_symbol *ms, u64 ip);
|
||||
|
||||
static struct dso *machine__kernel_dso(struct machine *machine)
|
||||
{
|
||||
|
@ -2385,10 +2384,6 @@ static int add_callchain_ip(struct thread *thread,
|
|||
ms.maps = maps__get(al.maps);
|
||||
ms.map = map__get(al.map);
|
||||
ms.sym = al.sym;
|
||||
|
||||
if (!branch && append_inlines(cursor, &ms, ip) == 0)
|
||||
goto out;
|
||||
|
||||
srcline = callchain_srcline(&ms, al.addr);
|
||||
err = callchain_cursor_append(cursor, ip, &ms,
|
||||
branch, flags, nr_loop_iter,
|
||||
|
|
|
@ -931,6 +931,11 @@ static bool should_skip_zero_counter(struct perf_stat_config *config,
|
|||
*/
|
||||
if (config->aggr_mode == AGGR_THREAD && config->system_wide)
|
||||
return true;
|
||||
|
||||
/* Tool events have the software PMU but are only gathered on 1. */
|
||||
if (evsel__is_tool(counter))
|
||||
return true;
|
||||
|
||||
/*
|
||||
* Skip value 0 when it's an uncore event and the given aggr id
|
||||
* does not belong to the PMU cpumask.
|
||||
|
|
Загрузка…
Ссылка в новой задаче