linux/tools/perf/util/addr_location.h
Dmitry Vyukov ee1cffbe24 perf report: Add latency output field
Latency output field is similar to overhead, but represents overhead for
latency rather than CPU consumption. It's re-scaled from overhead by dividing
weight by the current parallelism level at the time of the sample.
It effectively models profiling with 1 sample taken per unit of wall-clock
time rather than unit of CPU time.

Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Link: https://lore.kernel.org/r/b6269518758c2166e6ffdc2f0e24cfdecc8ef9c1.1739437531.git.dvyukov@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2025-02-18 14:04:32 -08:00

35 lines
785 B
C

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __PERF_ADDR_LOCATION
#define __PERF_ADDR_LOCATION 1
#include <linux/types.h>
struct thread;
struct maps;
struct map;
struct symbol;
struct addr_location {
struct thread *thread;
struct maps *maps;
struct map *map;
struct symbol *sym;
const char *srcline;
u64 addr;
char level;
u8 cpumode;
u16 filtered;
s32 cpu;
s32 socket;
/* Same as machine.parallelism but within [1, nr_cpus]. */
int parallelism;
/* See he_stat.latency. */
u64 latency;
};
void addr_location__init(struct addr_location *al);
void addr_location__exit(struct addr_location *al);
void addr_location__copy(struct addr_location *dst, struct addr_location *src);
#endif /* __PERF_ADDR_LOCATION */