Lines Matching full:counter
12 The Linux Performance Counter subsystem provides an abstraction of these
13 hardware capabilities. It provides per task and per CPU counters, counter
19 There's one file descriptor per virtual counter used.
29 VFS system calls: read() can be used to read the counter, fcntl()
35 When creating a new counter fd, 'perf_event_attr' is:
40 * specific (raw) counter configuration data, if unset, the next
71 The 'config' field specifies what the counter should count. It
78 If 'raw_type' is 1, then the counter will count a hardware event
82 If 'raw_type' is 0, then the 'type' field says what kind of counter
91 A counter of PERF_TYPE_HARDWARE will count the hardware event
95 * Generalized performance counter event types, used by the hw_event.event_id
126 A counter of type PERF_TYPE_SOFTWARE will count one of the available
153 counters. A "counting" counter is one that is used for counting the
158 A read() on a counter returns the current value of the counter and possible
164 * reads on the counter should return the indicated quantities,
165 * in increasing order of bit value, after the counter value.
173 particular counter allowing one to take the round-robin scheduling effect
177 A "sampling" counter is one that is set up to generate an interrupt
178 every N events, where N is given by 'irq_period'. A sampling counter
198 The 'disabled' bit specifies whether the counter starts out disabled
202 The 'inherit' bit, if set, specifies that this counter should count
205 time the counter is created (nor to any new descendents of existing
208 The 'pinned' bit, if set, specifies that the counter should always be
210 and only to group leaders. If a pinned counter cannot be put onto the
212 a conflict with some other event), then the counter goes into an
214 until the counter is subsequently enabled or disabled.
216 The 'exclusive' bit, if set, specifies that when this counter's group
241 counter to be specific to a task:
243 pid == 0: if the pid parameter is zero, the counter is attached to the
246 pid > 0: the counter is attached to a specific task (if the current task
251 The 'cpu' parameter allows a counter to be made specific to a CPU:
253 cpu >= 0: the counter is restricted to a specific CPU
254 cpu == -1: the counter counts on all CPUs
258 A 'pid > 0' and 'cpu == -1' counter is a per task counter that counts
263 A 'pid == -1' and 'cpu == x' counter is a per CPU counter that counts
269 The 'group_fd' parameter allows counter "groups" to be set up. A
270 counter group has one counter which is the group "leader". The leader
274 (A single counter on its own is created with group_fd = -1 and is
277 A counter group is scheduled onto the CPU as a unit, that is, it will
285 Like stated, asynchronous events, like counter overflow or PROT_EXEC mmap
323 __u32 index; /* hardware counter identifier */
324 __s64 offset; /* add to hardware counter value */
335 NOTE: the hw-counter userspace bits are arch specific and are currently only
411 so many counter overflow events.
417 prctl. When a counter is disabled, it doesn't count or generate
420 An individual counter can be enabled with
428 For a counter group, pass PERF_IOC_FLAG_GROUP as the third argument.
432 group other than the leader only affects that counter - disabling an
433 non-leader stops that counter from counting but doesn't affect any
434 other counter.
440 to enable a counter for 'nr' events, after which it gets disabled again.
442 A process can enable or disable all the counter groups that are