/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * Copyright (C) 2002-2003 Hewlett-Packard Co * Stephane Eranian <eranian@hpl.hp.com> * * This file implements the default sampling buffer format * for Linux/ia64 perfmon subsystem. */ #ifndef __PERFMON_DEFAULT_SMPL_H__ #define __PERFMON_DEFAULT_SMPL_H__ 1 #define PFM_DEFAULT_SMPL_UUID { \ 0x4d, 0x72, 0xbe, 0xc0, 0x06, 0x64, 0x41, 0x43, 0x82, 0xb4, 0xd3, 0xfd, 0x27, 0x24, 0x3c, 0x97} /* * format specific parameters (passed at context creation) */ typedef struct { unsigned long buf_size; /* size of the buffer in bytes */ unsigned int flags; /* buffer specific flags */ unsigned int res1; /* for future use */ unsigned long reserved[2]; /* for future use */ } pfm_default_smpl_arg_t; /* * combined context+format specific structure. Can be passed * to PFM_CONTEXT_CREATE */ typedef struct { pfarg_context_t ctx_arg; pfm_default_smpl_arg_t buf_arg; } pfm_default_smpl_ctx_arg_t; /* * This header is at the beginning of the sampling buffer returned to the user. * It is directly followed by the first record. */ typedef struct { unsigned long hdr_count; /* how many valid entries */ unsigned long hdr_cur_offs; /* current offset from top of buffer */ unsigned long hdr_reserved2; /* reserved for future use */ unsigned long hdr_overflows; /* how many times the buffer overflowed */ unsigned long hdr_buf_size; /* how many bytes in the buffer */ unsigned int hdr_version; /* contains perfmon version (smpl format diffs) */ unsigned int hdr_reserved1; /* for future use */ unsigned long hdr_reserved[10]; /* for future use */ } pfm_default_smpl_hdr_t; /* * Entry header in the sampling buffer. The header is directly followed * with the values of the PMD registers of interest saved in increasing * index order: PMD4, PMD5, and so on. How many PMDs are present depends * on how the session was programmed. * * In the case where multiple counters overflow at the same time, multiple * entries are written consecutively. * * last_reset_value member indicates the initial value of the overflowed PMD. */ typedef struct { int pid; /* thread id (for NPTL, this is gettid()) */ unsigned char reserved1[3]; /* reserved for future use */ unsigned char ovfl_pmd; /* index of overflowed PMD */ unsigned long last_reset_val; /* initial value of overflowed PMD */ unsigned long ip; /* where did the overflow interrupt happened */ unsigned long tstamp; /* ar.itc when entering perfmon intr. handler */ unsigned short cpu; /* cpu on which the overflow occurred */ unsigned short set; /* event set active when overflow occurred */ int tgid; /* thread group id (for NPTL, this is getpid()) */ } pfm_default_smpl_entry_t; #define PFM_DEFAULT_MAX_PMDS 64 /* how many pmds supported by data structures (sizeof(unsigned long) */ #define PFM_DEFAULT_MAX_ENTRY_SIZE (sizeof(pfm_default_smpl_entry_t)+(sizeof(unsigned long)*PFM_DEFAULT_MAX_PMDS)) #define PFM_DEFAULT_SMPL_MIN_BUF_SIZE (sizeof(pfm_default_smpl_hdr_t)+PFM_DEFAULT_MAX_ENTRY_SIZE) #define PFM_DEFAULT_SMPL_VERSION_MAJ 2U #define PFM_DEFAULT_SMPL_VERSION_MIN 0U #define PFM_DEFAULT_SMPL_VERSION (((PFM_DEFAULT_SMPL_VERSION_MAJ&0xffff)<<16)|(PFM_DEFAULT_SMPL_VERSION_MIN & 0xffff)) #endif /* __PERFMON_DEFAULT_SMPL_H__ */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Kbuild | File | 125 B | 0644 |
|
auxvec.h | File | 407 B | 0644 |
|
bitsperlong.h | File | 234 B | 0644 |
|
break.h | File | 538 B | 0644 |
|
byteorder.h | File | 203 B | 0644 |
|
cmpxchg.h | File | 4.11 KB | 0644 |
|
errno.h | File | 94 B | 0644 |
|
fcntl.h | File | 388 B | 0644 |
|
fpu.h | File | 2.22 KB | 0644 |
|
gcc_intrin.h | File | 18.07 KB | 0644 |
|
ia64regs.h | File | 2.81 KB | 0644 |
|
intel_intrin.h | File | 4.88 KB | 0644 |
|
intrinsics.h | File | 4.06 KB | 0644 |
|
ioctl.h | File | 94 B | 0644 |
|
ioctls.h | File | 183 B | 0644 |
|
ipcbuf.h | File | 95 B | 0644 |
|
mman.h | File | 388 B | 0644 |
|
msgbuf.h | File | 930 B | 0644 |
|
param.h | File | 670 B | 0644 |
|
perfmon.h | File | 6.2 KB | 0644 |
|
perfmon_default_smpl.h | File | 3.47 KB | 0644 |
|
poll.h | File | 93 B | 0644 |
|
posix_types.h | File | 268 B | 0644 |
|
ptrace.h | File | 8.1 KB | 0644 |
|
ptrace_offsets.h | File | 6.38 KB | 0644 |
|
resource.h | File | 215 B | 0644 |
|
rse.h | File | 1.71 KB | 0644 |
|
sembuf.h | File | 678 B | 0644 |
|
setup.h | File | 924 B | 0644 |
|
shmbuf.h | File | 1.09 KB | 0644 |
|
sigcontext.h | File | 3.07 KB | 0644 |
|
siginfo.h | File | 3.06 KB | 0644 |
|
signal.h | File | 3.32 KB | 0644 |
|
socket.h | File | 2.33 KB | 0644 |
|
sockios.h | File | 559 B | 0644 |
|
stat.h | File | 1.1 KB | 0644 |
|
statfs.h | File | 555 B | 0644 |
|
swab.h | File | 781 B | 0644 |
|
termbits.h | File | 4.75 KB | 0644 |
|
termios.h | File | 1.21 KB | 0644 |
|
types.h | File | 866 B | 0644 |
|
ucontext.h | File | 360 B | 0644 |
|
unistd.h | File | 9.85 KB | 0644 |
|
ustack.h | File | 296 B | 0644 |
|