Skip to content

Commit b4f63b0

Browse files
committed
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"
2 parents cacc6e2 + 487ae3b commit b4f63b0

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

tools/arch/x86/include/asm/msr-index.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,7 @@
545545
#define MSR_AMD64_DE_CFG 0xc0011029
546546
#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT 1
547547
#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE BIT_ULL(MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT)
548+
#define MSR_AMD64_DE_CFG_ZEN2_FP_BACKUP_FIX_BIT 9
548549

549550
#define MSR_AMD64_BU_CFG2 0xc001102a
550551
#define MSR_AMD64_IBSFETCHCTL 0xc0011030

tools/perf/util/machine.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545

4646
static void __machine__remove_thread(struct machine *machine, struct thread_rb_node *nd,
4747
struct thread *th, bool lock);
48-
static int append_inlines(struct callchain_cursor *cursor, struct map_symbol *ms, u64 ip);
4948

5049
static struct dso *machine__kernel_dso(struct machine *machine)
5150
{
@@ -2385,10 +2384,6 @@ static int add_callchain_ip(struct thread *thread,
23852384
ms.maps = maps__get(al.maps);
23862385
ms.map = map__get(al.map);
23872386
ms.sym = al.sym;
2388-
2389-
if (!branch && append_inlines(cursor, &ms, ip) == 0)
2390-
goto out;
2391-
23922387
srcline = callchain_srcline(&ms, al.addr);
23932388
err = callchain_cursor_append(cursor, ip, &ms,
23942389
branch, flags, nr_loop_iter,

tools/perf/util/stat-display.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -931,6 +931,11 @@ static bool should_skip_zero_counter(struct perf_stat_config *config,
931931
*/
932932
if (config->aggr_mode == AGGR_THREAD && config->system_wide)
933933
return true;
934+
935+
/* Tool events have the software PMU but are only gathered on 1. */
936+
if (evsel__is_tool(counter))
937+
return true;
938+
934939
/*
935940
* Skip value 0 when it's an uncore event and the given aggr id
936941
* does not belong to the PMU cpumask.

0 commit comments

Comments
 (0)