Glossary

From Perf Wiki
(Difference between revisions)
Jump to: navigation, search
(Some initial glossary data)
 
(Additional definitions such as BPF)
 
Line 1: Line 1:
 +
==B==
 +
 +
===BPF===
 +
[https://en.wikipedia.org/wiki/Berkeley_Packet_Filter Berkeley Packet Filter].
 +
 +
===BPF Counter===
 +
An option on ''perf stat'' where a BPF program reads counters to a BPF map rather then 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==
 
==C==
  
Line 26: Line 34:
 
===False Sharing===
 
===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.
 
  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 [[#Multiplexing|multiplexed]], contrast with [[#Pinned Event|pinned event]].
 +
 +
===Free Running Counter===
 +
A counter that runs through its full range of values before repeating.
  
 
==H==
 
==H==
Line 39: Line 53:
 
===Metric===
 
===Metric===
 
  Taking multiple performance counters, typcally in ''perf stat'', and then computing a human meaningful value like memory bandwidth.
 
  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==
 
==O==
Line 56: Line 73:
 
  A kernel abstraction used to reference data being gathered about a particular kind of kernel 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==
 
==S==

Latest revision as of 06:37, 28 July 2022

Contents

[edit] B

[edit] BPF

Berkeley Packet Filter.

[edit] BPF Counter

An option on perf stat where a BPF program reads counters to a BPF map rather then 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.

[edit] C

[edit] C2C

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

[edit] 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.

[edit] E

[edit] Event Selector

See evsel.

[edit] 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.

[edit] evsel

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


[edit] F

[edit] 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.

[edit] Flexible Event

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

[edit] Free Running Counter

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

[edit] H

[edit] HITM

A load that hit a modified cacheline.

[edit] Hyperthread

Intel/x86 term for SMT.

[edit] M

[edit] Metric

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

[edit] 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.

[edit] O

[edit] Offcore

TODO

[edit] 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.

[edit] P

[edit] perf.data

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

[edit] Perf Event

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


[edit] 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.

[edit] S

[edit] SMT

Simultaneous multithreading.

[edit] T

[edit] Task

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

[edit] U

[edit] Uncore

Functions of the microprocessor not in the core.
Personal tools