mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

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>
35 lines
785 B
C
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 */
|