- Document an EAGAIN error return from a PMC_OP_CONFIGURELOG request.
- Document some EINVAL error returns from PMC_OP_CONFIGURELOG, PMC_OP_WRITELOG and PMC_OP_FLUSHLOG that were missed earlier. - Correct a typo: s/PMC_OP_ALLOCATE/PMC_OP_PMCALLOCATE/. - Describe how log file writing errors are returned by a PMC_OP_FLUSHLOG request.
This commit is contained in:
parent
8f8a9c4e05
commit
ae9f8ed2e2
@ -278,13 +278,22 @@ The
|
||||
driver supports the following operations:
|
||||
.Bl -tag -width indent
|
||||
.It Dv PMC_OP_CONFIGURELOG
|
||||
Configure a log file for sampling mode PMCs.
|
||||
Configure a log file for PMCs that require a log file.
|
||||
The
|
||||
.Nm
|
||||
driver will write log data to this file asynchronously.
|
||||
If it encounters an error, logging will be stopped and the error code
|
||||
encountered will be saved for subsequent retrieval by a
|
||||
.Dv PMC_OP_FLUSHLOG
|
||||
request.
|
||||
.It Dv PMC_OP_FLUSHLOG
|
||||
Transfer buffered log data inside
|
||||
.Nm
|
||||
to a configured output file.
|
||||
This operation returns to the caller after the write operation
|
||||
has returned.
|
||||
The returned error code reflects any pending error state inside
|
||||
.Nm .
|
||||
.It Dv PMC_OP_GETCPUINFO
|
||||
Retrieve information about the number of CPUs on the system and
|
||||
the number of hardware performance monitoring counters available per-CPU.
|
||||
@ -550,6 +559,10 @@ A command issued to the
|
||||
.Nm
|
||||
driver may fail with the following errors:
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EAGAIN
|
||||
Helper process creation failed for a
|
||||
.Dv PMC_OP_CONFIGURELOG
|
||||
request due to a temporary resource shortage in the kernel.
|
||||
.It Bq Er EBUSY
|
||||
A
|
||||
.Dv PMC_OP_CONFIGURELOG
|
||||
@ -604,6 +617,15 @@ An invalid CPU number was passed in for a
|
||||
.Dv PMC_OP_GETPMCINFO
|
||||
operation.
|
||||
.It Bq Er EINVAL
|
||||
A
|
||||
.Dv PMC_OP_CONFIGURELOG
|
||||
request to de-configure a log file was issued without a log file
|
||||
being configured.
|
||||
.It Bq Er EINVAL
|
||||
A
|
||||
.Dv PMC_OP_FLUSHLOG
|
||||
request was issued without a log file being configured.
|
||||
.It Bq Er EINVAL
|
||||
An invalid CPU number was passed in for a
|
||||
.Dv PMC_OP_PMCADMIN
|
||||
operation.
|
||||
@ -631,13 +653,13 @@ request.
|
||||
A CPU other than
|
||||
.Dv PMC_CPU_ANY
|
||||
was specified in a
|
||||
.Dv PMC_OP_ALLOCATE
|
||||
.Dv PMC_OP_PMCALLOCATE
|
||||
request for a process-private PMC.
|
||||
.It Bq Er EINVAL
|
||||
A CPU number of
|
||||
.Dv PMC_CPU_ANY
|
||||
was specified in a
|
||||
.Dv PMC_OP_ALLOCATE
|
||||
.Dv PMC_OP_PMCALLOCATE
|
||||
request for a system-wide PMC.
|
||||
.It Bq Er EINVAL
|
||||
The
|
||||
@ -646,14 +668,24 @@ argument to an
|
||||
.Dv PMC_OP_PMCALLOCATE
|
||||
request contained unknown flags.
|
||||
.It Bq Er EINVAL
|
||||
(On Intel Pentium 4 CPUs with HTT support)
|
||||
A
|
||||
.Dv PMC_OP_PMCALLOCATE
|
||||
request for a process-private PMC was issued for an event that does
|
||||
not support counting on a per-logical CPU basis.
|
||||
.It Bq Er EINVAL
|
||||
A PMC allocated for system-wide operation was specified with a
|
||||
.Dv PMC_OP_PMCATTACH
|
||||
or
|
||||
.Dv PMC_OP_PMCDETACH
|
||||
request.
|
||||
.It Bq Er EINVAL
|
||||
The
|
||||
.Ar pm_pid
|
||||
argument to a
|
||||
.Dv PMC_OP_PMCATTACH
|
||||
or
|
||||
.Dv PMC_OP_PMCDETACH
|
||||
request specified an illegal process ID.
|
||||
.It Bq Er EINVAL
|
||||
A
|
||||
@ -673,14 +705,14 @@ for a PMC that is not solely attached to its owner process, or for
|
||||
a PMC that was allocated with flag
|
||||
.Dv PMC_F_DESCENDANTS .
|
||||
.It Bq Er EINVAL
|
||||
(On Intel Pentium 4 CPUs with HTT support)
|
||||
An allocation request for
|
||||
a process-private PMC was issued for an event that does not support
|
||||
counting on a per-logical CPU basis.
|
||||
A
|
||||
.Dv PMC_OP_WRITELOG
|
||||
request was issued for an owner process without a log file
|
||||
configured.
|
||||
.It Bq Er ENOMEM
|
||||
The system was not able to allocate kernel memory.
|
||||
.It Bq Er ENOSYS
|
||||
(i386 architectures)
|
||||
(On i386 and amd64 architectures)
|
||||
A
|
||||
.Dv PMC_OP_PMCX86GETMSR
|
||||
operation was requested for hardware that does not support reading
|
||||
@ -732,13 +764,14 @@ from all of its target processes.
|
||||
.It Bq Er ESRCH
|
||||
A
|
||||
.Dv PMC_OP_PMCATTACH
|
||||
or
|
||||
.Dv PMC_OP_PMCDETACH
|
||||
request specified a non-existent process ID.
|
||||
.It Bq Er ESRCH
|
||||
The target process for a
|
||||
.Dv PMC_OP_PMCDETACH
|
||||
operation is not being monitored by the
|
||||
.Nm
|
||||
driver.
|
||||
operation is not being monitored by
|
||||
.Nm .
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr kenv 1 ,
|
||||
@ -749,6 +782,7 @@ driver.
|
||||
.Xr pmccontrol 8 ,
|
||||
.Xr pmcstat 8 ,
|
||||
.Xr sysctl 8 ,
|
||||
.Xr kproc_create 9 ,
|
||||
.Xr p_candebug 9
|
||||
.Sh HISTORY
|
||||
The
|
||||
|
Loading…
Reference in New Issue
Block a user