Lines Matching full:event
2 PMU Event Based Branches
5 Event Based Branches (EBBs) are a feature which allows the hardware to
12 One type of event for which EBBs can be configured is PMU exceptions. This
20 Throughout this document we will refer to an "EBB event" or "EBB events". This
39 and attach an EBB event to the process, which will then cause EBBs to be
44 user process. This means once an EBB event is scheduled on the PMU, no non-EBB
49 kernel will in general schedule the EBB event, and perf will be notified that
55 If an EBB event and a regular event are both pinned, then whichever is enabled
57 section below titled "Enabling an EBB event" for more information.
60 Creating an EBB event
63 To request that an event is counted using EBB, the event code should have bit
70 An EBB event must be created with the "pinned" and "exclusive" attributes set.
74 An EBB event must NOT set any of the "inherit", "sample_period", "freq" or
77 An EBB event must be attached to a task. This is specified to perf_event_open()
84 userspace is able to reliably determine which PMC the event is scheduled on.
87 Enabling an EBB event
90 Once an EBB event has been successfully opened, it must be enabled with the
94 However, due to the design of the perf_events API, enabling an event does not
95 guarantee that it has been scheduled on the PMU. To ensure that the EBB event
96 has been scheduled on the PMU, you must perform a read() on the event. If the
97 read() returns EOF, then the event has not been scheduled and EBBs are not
100 This behaviour occurs because the EBB event is pinned and exclusive. When the
101 EBB event is enabled it will force all other non-pinned events off the PMU. In
102 this case the enable will be successful. However if there is already an event
106 Reading an EBB event
109 It is possible to read() from an EBB event. However the results are
111 kernel is not able to count the event, and so will return a junk value.
114 Closing an EBB event
117 When an EBB event is finished with, you can close it using close() as for any
118 regular event. If this is the last EBB event the PMU will be deconfigured and
137 EBBs it should open a new event for itself. Similarly the EBB state in