Glossary

From Perf Wiki
Revision as of 09:18, 2 August 2023 by James Clark (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

B

Beat

An individual transfer within a burst. For example, a burst can comprise of multiple beats. From the Arm Glossary

BPF

Berkeley Packet Filter.

BPF Counter

An option on perf stat where a BPF program reads counters to a BPF map rather than the regular read of a perf event file descriptor. The BPF program 
reads the counter on context switches from an event in system wide mode. If the number of system wide per CPU events is less than the number of threads
or cgroups, this option can reduce file descriptor overhead.

C

C2C

Cache-to-cache. perf c2c is a builtin perf tool for analyzing shared data accesses and problems like false sharing.

Core

1. Used to refer to events on the CPU's PMU, contrast with Uncore and Offcore.
2. Part of the topology containing multiple SMT threads.

E

Events

The list of measurable events is supported by the perf tool. 

Event Selector

See evsel.

evlist

1. A perf command to list the events within a perf.data file.
2. A list of event selectors. The evlist API is part of libperf.

evsel

An event selector describes a perf event that will be opened on multiple CPUs or threads. The evsel API is part of libperf.


F

False Sharing

When a cache line is accidentally shared, and written-to, by two threads because of the layout of data being so that it is on the same cache line.

Flexible Event

The default kind of event that can be multiplexed, contrast with pinned event.

Free Running Counter

A counter that runs through its full range of values before repeating.

H

HITM

A load that hit a modified cacheline.

Hyperthread

Intel/x86 term for SMT.

K

KVM

KVM stands for Kernel-based Virtual Machine, perf command with kvm helps us to trace/measure kvm guest os

M

Metric

Taking multiple performance counters, typcally in perf stat, and then computing a human meaningful value like memory bandwidth.

Multiplexing

When the number of events is greater than the hardware counters the kernel will multiplex the events. Each event is scheduled for a period of time
(by default 1kHz) and then rotated.

O

Offcore

TODO

Off-CPU

Off-CPU is data collected when a task gets context switched. Brendan Gregg discusses Off-CPU analysis. Combining on-CPU time, measured with a performance 
counter, with off-CPU time will give wall clock time. Linux perf 5.20 adds a command line option to perf record to gather off-CPU data.

P

perf.data

By default output from various perf commands is stored in a file named perf.data.

Perf Event

A kernel abstraction used to reference data being gathered about a particular kind of kernel event.


Pinned Event

Pinned events are scheduled at a higher priority to flexible events. If they can't be scheduled within the kernel they don't multiplex and enter an error state.

S

Software Event

They are kernel/os-based low-level counters. To identify the list of supported software events use the command: perf list software

SMT

Simultaneous multithreading.

T

Task

Kernel term for a process (if just 1 thread) or thread.

U

Uncore

Functions of the microprocessor not in the core.
Personal tools