Lines Matching +full:non +full:- +full:pc
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
5 * Copyright (C) 2008-2009, Thomas Gleixner <tglx@linutronix.de>
6 * Copyright (C) 2008-2011, Red Hat, Inc., Ingo Molnar
7 * Copyright (C) 2008-2011, Red Hat, Inc., Peter Zijlstra
13 * For licencing details see kernel-base/COPYING
23 * User-space ABI bits:
37 PERF_TYPE_MAX, /* non-ABI */
60 PERF_COUNT_HW_MAX, /* non-ABI */
66 * { L1-D, L1-I, LLC, ITLB, DTLB, BPU, NODE } x
79 PERF_COUNT_HW_CACHE_MAX, /* non-ABI */
87 PERF_COUNT_HW_CACHE_OP_MAX, /* non-ABI */
94 PERF_COUNT_HW_CACHE_RESULT_MAX, /* non-ABI */
116 PERF_COUNT_SW_MAX, /* non-ABI */
147 PERF_SAMPLE_MAX = 1U << 22, /* non-ABI */
149 __PERF_SAMPLE_CALLCHAIN_EARLY = 1ULL << 63, /* non-ABI; internal use */
187 PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */
265 PERF_TXN_MAX = (1 << 8), /* non-ABI */
302 PERF_FORMAT_MAX = 1U << 5, /* non-ABI */
363 * 0 - SAMPLE_IP can have arbitrary skid
364 * 1 - SAMPLE_IP must have constant skid
365 * 2 - SAMPLE_IP requested to have 0 skid
366 * 3 - SAMPLE_IP must have 0 skid
371 mmap_data : 1, /* non-exec mmap data */
427 * - precise = 0: PMU interrupt
428 * - precise > 0: sampled instruction
493 * Bits needed to read the hw events in user-space.
501 * seq = pc->lock;
504 * enabled = pc->time_enabled;
505 * running = pc->time_running;
507 * if (pc->cap_usr_time && enabled != running) {
509 * time_offset = pc->time_offset;
510 * time_mult = pc->time_mult;
511 * time_shift = pc->time_shift;
514 * index = pc->index;
515 * count = pc->offset;
516 * if (pc->cap_user_rdpmc && index) {
517 * width = pc->pmc_width;
518 * pmc = rdpmc(index - 1);
522 * } while (pc->lock != seq);
524 * NOTE: for obvious reason this only works on self-monitoring
547 * If cap_user_rdpmc this field provides the bit-width of the value
551 * pmc <<= 64 - width;
552 * pmc >>= 64 - width; // signed shift right
565 * rem = cyc & (((u64)1 << time_shift) - 1);
588 * time = timestamp - time_zero;
596 * rem = cyc & (((u64)1 << time_shift) - 1);
609 * cyc = time_cycles + ((cyc - time_cycles) & time_mask)
628 * User-space reading the @data_head value should issue an smp_rmb(),
633 * an smp_mb() to separate the data read from the ->data_tail store.
634 * In this case the kernel will not over-write unread data.
642 __u64 data_tail; /* user-space written tail */
679 * PERF_RECORD_MISC_MMAP_DATA - PERF_RECORD_MMAP* events
680 * PERF_RECORD_MISC_COMM_EXEC - PERF_RECORD_COMM event
681 * PERF_RECORD_MISC_FORK_EXEC - PERF_RECORD_FORK event (perf internal)
682 * PERF_RECORD_MISC_SWITCH_OUT - PERF_RECORD_SWITCH* events
692 * PERF_RECORD_MISC_EXACT_IP - PERF_RECORD_SAMPLE of precise events
693 * PERF_RECORD_MISC_SWITCH_OUT_PREEMPT - PERF_RECORD_SWITCH* events
979 * CPU-wide version of PERF_RECORD_SWITCH with next_prev_pid and
1049 * Records changes to kernel text i.e. self-modified code. 'old_len' is
1066 PERF_RECORD_MAX, /* non-ABI */
1073 * Out of line code such as kprobe-replaced instructions or optimized
1077 PERF_RECORD_KSYMBOL_TYPE_MAX /* non-ABI */
1086 PERF_BPF_EVENT_MAX, /* non-ABI */
1093 PERF_CONTEXT_HV = (__u64)-32,
1094 PERF_CONTEXT_KERNEL = (__u64)-128,
1095 PERF_CONTEXT_USER = (__u64)-512,
1097 PERF_CONTEXT_GUEST = (__u64)-2048,
1098 PERF_CONTEXT_GUEST_KERNEL = (__u64)-2176,
1099 PERF_CONTEXT_GUEST_USER = (__u64)-2560,
1101 PERF_CONTEXT_MAX = (__u64)-4095,
1114 #define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */
1183 /* 5-0xa available */