Lines Matching +full:cpu +full:- +full:read

1 .\" Copyright (c) 2003-2008 Joseph Koshy
39 .Bd -ragged -offset indent
44 .Bd -ragged -offset indent
49 .Bd -literal -offset indent
54 .Bd -ragged -offset indent
62 .Bd -ragged -offset indent
75 The driver supports multi-processor systems.
89 .Bl -tag -width ".Em Process-scope"
90 .It Em "Process-scope"
92 to a process it is attached to is scheduled on a CPU.
93 .It Em "System-scope"
99 .Bl -tag -width ".Em Counting"
107 In sampling modes, the PMCs are configured to sample the CPU
117 .Bl -tag -width indent
118 .It Process-scope, counting
120 scheduled on a CPU.
125 Applications can read the value of the PMC anytime using the
128 .It Process-scope, sampling
139 .It System-scope, counting
142 The current count on these PMCs can be read using the
149 .It System-scope, sampling
150 These PMCs will periodically sample the instruction pointer of the CPU
160 System-wide statistical sampling can only be enabled by a process with
161 super-user privileges.
166 Processes may mix allocations of system-wide and process-private
178 Process-private PMCs need to be attached to a target process before
193 .Bl -bullet -compact
195 A non-jailed process with super-user privileges is allowed to attach
213 .Bl -tag -width indent
222 This modifier is valid only for a PMC being allocated in process-private
227 This modifier is valid only for a PMC being allocated in process-private
232 seen by the target process when it was scheduled on the CPU.
234 This modifier is valid only for a PMC being allocated in process-private
238 will maintain per-process counts for each target process attached to
241 the accumulated per-process count for that process will be written to the
261 .Bl -tag -width ".Dv SIGBUS"
265 operation was attempted on a process-private PMC that does not have
279 .Bl -tag -width ".Dv PMC_DISP_STANDALONE" -compact
289 Non-disabled hardware counters in such a row may be used
310 .Bl -tag -width indent
329 Retrieve information about the highest possible CPU number for the system,
330 and the number of hardware performance monitoring counters available per CPU.
339 given CPU.
355 scheduled on a CPU.
366 Read and write a PMC.
380 user process to read a PMC value without needing to invoke a
387 .Bl -tag -width indent
392 The PMC needs to be in process-private mode and allocated without the
399 user process to read a PMC value without needing to invoke a
406 .Bl -tag -width indent
411 The PMC needs to be in process-private mode and allocated without the
424 .Bl -tag -width indent
425 .It Va kern.hwpmc.callchaindepth Pq integer, read-only
428 .It Va kern.hwpmc.debugflags Pq string, read-write
436 .It Va kern.hwpmc.hashsize Pq integer, read-only
440 .It Va kern.hwpmc.logbuffersize Pq integer, read-only
445 .It Va kern.hwpmc.mincount Pq integer, read-write
448 .It Va kern.hwpmc.mtxpoolsize Pq integer, read-only
451 .It Va kern.hwpmc.nbuffers_pcpu Pq integer, read-only
456 .It Va kern.hwpmc.nsamples Pq integer, read-only
457 The number of entries in the per-CPU ring buffer used during sampling.
459 .It Va security.bsd.unprivileged_syspmcs Pq boolean, read-write
460 If set to non-zero, allow unprivileged processes to allocate system-wide
463 .It Va security.bsd.unprivileged_proc_debug Pq boolean, read-write
479 .Ss Sparse CPU Numbering
480 On platforms that sparsely number CPUs and which support hot-plugging
481 of CPUs, requests that specify non-existent or disabled CPUs will fail
483 Applications allocating system-scope PMCs need to be aware of
489 read the TSC using the RDTSC instruction.
495 only a subset of hardware events on a per-logical CPU basis.
499 driver will reject allocation requests for process-private PMCs that
501 for each logical CPU.
503 .Bl -diag
544 .Bd -literal -offset indent
554 variable, which provides fine-grained control over which types of events are
561 .Bl -tag -width "sampling" -compact -offset indent
562 .It cpu
569 Machine-dependent/class-dependent events
584 .Bd -ragged -offset indent
602 read,
622 The string should contain a space-separated list of event specifiers.
624 (=), followed by a comma-separated list of minor event types.
631 .Bd -literal -offset indent
636 .Bd -literal -offset indent
641 .Bd -literal -offset indent
647 and can be inspected at run-time using the
656 .Bl -tag -width Er
669 process-private PMCs.
699 operation was requested on a system-wide sampling PMC without a log
711 An invalid CPU number was passed in for a
723 request to de-configure a log file was issued without a log file
730 An invalid CPU number was passed in for a
750 An invalid CPU number was specified during a
754 A CPU other than
758 request for a process-private PMC.
760 A CPU number of
764 request for a system-wide PMC.
775 request for a process-private PMC was issued for an event that does
776 not support counting on a per-logical CPU basis.
778 A PMC allocated for system-wide operation was specified with a
804 operation was requested for a PMC not in process-virtual mode, or
824 operation was requested for an absent or disabled CPU.
828 operation specified allocation of a system-wide PMC on an absent or
829 disabled CPU.
835 request was issued for a system-wide PMC that was allocated on a CPU
844 A sampling mode PMC was requested on a CPU lacking an APIC.
848 request was issued by a process without super-user
849 privilege or by a jailed super-user process.
872 request specified a non-existent process ID.
911 Many single-processor motherboards keep the APIC disabled in BIOS; on
919 .Bl -enum
926 This ensures that unprivileged processes cannot allocate system-wide
947 System administrators should note that on IA-32 platforms
949 makes the content of the IA-32 TSC counter available to all processes