History log of /freebsd-current/lib/libpmc/pmc.3
Revision Date Author Comments
# b2934971 18-Oct-2023 Mitchell Horne <mhorne@FreeBSD.org>

pmc.amd(3): rename from pmc.k8(3)

This is the first step in recognizing that the K8 microarchitecture
represents a small and aged subset of AMD CPUs supported by this class.
Future changes will update the code and documentation details to better
reflect this.

Keep the old filename as an alias.

Reviewed by: jkoshy
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41279


# 82d6d46d 18-Oct-2023 Mitchell Horne <mhorne@FreeBSD.org>

pmc: remove last bits of AMD K7 CPU support

This includes event definitions from sys/pmc_events.h, definitions from
sys/pmc.h, and the man pages.

Reviewed by: jkoshy
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41275


# fa9896e0 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: two-line nroff pattern

Remove /^\.\\"\n\.\\"\s*\$FreeBSD\$$\n/


# 3977781b 16-Jun-2023 Mitchell Horne <mhorne@FreeBSD.org>

pmc: clarify and strengthen statements about API/ABI

- Make it clear that applications are not only encouraged to use the
pmc(3) library, but use of the hwpmc(4) interface directly is a
use-case we do not support
- Move the COMPATIBILITY section above PROGRAMMING API in hwpmc(4)
- Drop statements about the driver and library being "under development"

Reviewed by: jkoshy, emaste
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D40543


# f401d82e 05-Apr-2023 Joseph Koshy <jkoshy@FreeBSD.org>

pmc: Keep a list sorted.

Approved by: gnn (mentor)
Differential Revision: https://reviews.freebsd.org/D39439


# 5faf9f4d 28-May-2022 Pau Amma <pauamma@FreeBSD.org>

Refresh CPU types and classes from sys/sys/pmc.h.

While here, fix a few nits.

Inspired by reviewing D35342.

Sources for trademark info
- https://www.arm.com/company/policies/trademarks (no Arm8, curiously)
- https://www.ibm.com/legal/copytrade?mhsrc=ibmsearch_a&mhq=trademark

Reviewed by: carlavilla, luporl, mhorne
Approved by: carlavilla (mentor), mhorne (src)
Differential Revision: https://reviews.freebsd.org/D35344


# b6e28991 15-Feb-2022 Aleksandr Rybalko <ray@freebsd.org>

System wide and NUMA domain wide counters support. PMC classes for ARM DMC-620 and CMN-600.

Add support for system wide and NUMA domain wide counters support.
Add 3 new PMC classes for ARM DMC-620 and CMN-600 controllers PMU.

Reviewed by: mhorne
Sponsored By: ARM
Sponsored By: Ampere Computing
Differential Revision: https://reviews.freebsd.org/D35342


# 99830f70 28-Jan-2022 Mitchell Horne <mhorne@FreeBSD.org>

libpmc: remove mips support

Bye bye!

Reviewed by: imp, emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34083


# d78896e4 10-Aug-2021 Mitchell Horne <mhorne@FreeBSD.org>

pmc(3): remove Pentium-related man pages and references

Support for Pentium events was removed completely in e92a1350b50e.

Don't bump .Dd where we are just removing xrefs.

Reviewed by: emaste
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D31423


# aa76f0c3 25-Dec-2020 Michal Meloun <strejda@users.noreply.github.com>

PMC: remove now orphaned PMC for INTEL XScale processors.
Support for XScale architecture has been deleted in FreeBSD 13.


# c81b12e0 27-Jul-2018 Warner Losh <imp@FreeBSD.org>

Revert r336773: it removed too much.

r336773 removed all things xscale. However, some things xscale are
really armv5. Revert that entirely. A more modest removal will follow.

Noticed by: andrew@


# 626930c2 27-Jul-2018 Warner Losh <imp@FreeBSD.org>

Remove xscale support

The OLD XSCALE stuff hasn't been useful in a while. The original
committer (cognet@) was the only one that had boards for it. He's
blessed this removal. Newer XSCALE (GUMSTIX) is for hardware that's
quite old. After discussion on arm@, it was clear there was no support
for keeping it.

Differential Review: https://reviews.freebsd.org/D16313


# 7a40330b 06-Apr-2017 Enji Cooper <ngie@FreeBSD.org>

pmc(3): add additional references for libpmc functions in the SEE ALSO section

These functions are already referenced throughout the manpage -- this makes their
presence more apparent.

MFC after: 2 months
Sponsored by: Dell EMC Isilon


# f1ec0939 09-Mar-2015 Ryan Stone <rstone@FreeBSD.org>

Add manpage for Haswell Xeon pmc implementation

Differential Revision: https://reviews.freebsd.org/D1584
Reviewed by: gnn
MFC After: 1 month
Sponsored by: Sandvine Inc


# 56e39702 28-Jul-2014 George V. Neville-Neil <gnn@FreeBSD.org>

Update the list of cross references to include the more modern set of
processors that we now support.


# 2b7af31c 23-Jun-2014 Baptiste Daroussin <bapt@FreeBSD.org>

use .Mt to mark up email addresses consistently (part3)

PR: 191174
Submitted by: Franco Fichtner <franco at lastsummer.de>


# 9ee2158b 02-Jun-2012 Joel Dahl <joel@FreeBSD.org>

mdoc: minor Bl improvements.


# f5f9340b 28-Mar-2012 Fabien Thomas <fabient@FreeBSD.org>

Add software PMC support.

New kernel events can be added at various location for sampling or counting.
This will for example allow easy system profiling whatever the processor is
with known tools like pmcstat(8).

Simultaneous usage of software PMC and hardware PMC is possible, for example
looking at the lock acquire failure, page fault while sampling on
instructions.

Sponsored by: NETASQ
MFC after: 1 month


# 41949a1e 24-Mar-2012 Joel Dahl <joel@FreeBSD.org>

Remove superfluous paragraph macro.


# 026dbd29 17-Feb-2012 Christian Brueffer <brueffer@FreeBSD.org>

Switch the license boilerplates to our standard one.

Advantages:
- Reduces the number of different license versions in the tree
- Eliminates a typo
- Removes some incorrect author attributions due to c/p
- Removes c/p error potential for future pmc manpages

Approved by: jkoshy, gnn, rpaulo, fabient (copyright holders)
MFC after: 1 week


# dceed24a 18-Oct-2011 Fabien Thomas <fabient@FreeBSD.org>

Add a flush of the current PMC log buffer before displaying the next top.

As the underlying block is 4KB if the PMC throughput is low the measurement
will be reported on the next tick. pmcstat(8) use the modified flush API to
reclaim current buffer before displaying next top.

MFC after: 1 month


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# c2025a76 16-Aug-2010 Joel Dahl <joel@FreeBSD.org>

Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while
translating these manual pages. Minor corrections by me.

Submitted by: Nobuyuki Koganemaru <n-kogane@syd.odn.ne.jp>


# aa12cea2 14-Apr-2010 Ulrich Spörlein <uqs@FreeBSD.org>

mdoc: order prologue macros consistently by Dd/Dt/Os

Although groff_mdoc(7) gives another impression, this is the ordering
most widely used and also required by mdocml/mandoc.

Reviewed by: ru
Approved by: philip, ed (mentors)


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# dd1259da 23-Aug-2009 Joseph Koshy <jkoshy@FreeBSD.org>

Use a more appropriate choice of words.

Submitted by: danfe


# 5dcb8c70 23-Aug-2009 Joseph Koshy <jkoshy@FreeBSD.org>

Correct grammar.


# b53a052d 22-Aug-2009 Joseph Koshy <jkoshy@FreeBSD.org>

Fix a typo.

Reported by: John McCullough <jmccullo at cs.ucsd.edu>


# f20a61ff 22-Aug-2009 Joseph Koshy <jkoshy@FreeBSD.org>

Fix typos.

Reported by: Harald Servat <redcrash at gmail dot com>


# 0f7668cb 24-Nov-2008 Joseph Koshy <jkoshy@FreeBSD.org>

- Document the rules used to determine when spellings of events
are equivalent.
- Reorder text to make the manual page more coherent.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 72cf78b8 03-Oct-2008 Joseph Koshy <jkoshy@FreeBSD.org>

- Cross-reference new manual pages.
- Spell new PMC class names correctly.


# 6455febb 22-Sep-2008 Joseph Koshy <jkoshy@FreeBSD.org>

Document changes in behaviour due to sparse CPU numbering support.


# 624f6965 19-Sep-2008 Joseph Koshy <jkoshy@FreeBSD.org>

Keep symbols in sorted order.


# 0f3866fa 18-Sep-2008 Joseph Koshy <jkoshy@FreeBSD.org>

Improve grammar.


# 80f30b73 18-Sep-2008 Joseph Koshy <jkoshy@FreeBSD.org>

Document new PMC classes, capabilities and CPU kinds.
Improve typography.


# 24f2c3f3 16-Sep-2008 Joseph Koshy <jkoshy@FreeBSD.org>

Replace PMC-dependent content with references to
the appropriate manual pages.


# bcbe65a8 14-Mar-2008 Joseph Koshy <jkoshy@FreeBSD.org>

- Document Pentium and Pentium MMX events.
- Update (c) years and the manual page's date.


# 120da7bd 02-Feb-2008 Joseph Koshy <jkoshy@FreeBSD.org>

Correct a typo.


# 0b844226 03-Dec-2007 Joseph Koshy <jkoshy@FreeBSD.org>

Replace a spurious cross-reference to hwpmc(4) with correct text.


# c89d1cf5 24-Nov-2007 Joseph Koshy <jkoshy@FreeBSD.org>

- Add an overview of the pmc(3) API.
- Defer detailed descriptions of individual functions in the API to
function-specific manual pages.


# d62f5d4e 12-Apr-2007 Joseph Koshy <jkoshy@FreeBSD.org>

Fix a bug in the description of the "p6-div" event. [1]

Update the description of the "p6-div" and "p6-mul" events according
to the "Intel(r) 64 and IA-32 Architectures Software Developers
Manual Volume 3B: System Programming Guide, Part 2, November 2006".

Reported by: Harald Servat <redcrash at gmail dot com> [1]


# 7aa963e5 26-Mar-2007 Joseph Koshy <jkoshy@FreeBSD.org>

Clarify memory management rules for pmc_cpuinfo().

Suggested by: "Harald Servat" <redcrash at gmail dot com>


# d8acba2a 20-Mar-2006 Joseph Koshy <jkoshy@FreeBSD.org>

Update the pmc(3) manual page's date string and freshen the year in the (c) line for
pmc.3 and libpmc.c.


# 177a2f22 24-Feb-2006 Joseph Koshy <jkoshy@FreeBSD.org>

Add an alias 'unhalted-cycles' denoting cycles where the CPU is
not in a halt or sleep state.


# 3a145486 24-Nov-2005 Ruslan Ermilov <ru@FreeBSD.org>

Fix prototypes.


# 110e1704 17-Nov-2005 Ruslan Ermilov <ru@FreeBSD.org>

-mdoc sweep.


# 5138c36a 21-Jul-2005 Joseph Koshy <jkoshy@FreeBSD.org>

Add COMPATIBILITY and HISTORY sections.

MFC after: 3 days


# f0ea72a0 14-Jul-2005 Christian Brueffer <brueffer@FreeBSD.org>

- Remove MLINKS to nonexistant manpages
- Change some section numbers to match reality
- For MLINKS to manpages from ports, mention which port installs them

MFC after: 3 days


# 9abe909b 24-Jun-2005 Ruslan Ermilov <ru@FreeBSD.org>

- Tidy up the markup.
- Clarify the sections on "Cascading P4 PMCs" and
"Precise Event Based Sampling" (1)
- Bump document date.

Reviewed by: jkoshy
Submitted by: jkoshy (1)
Approved by: re (blanket)


# f263522a 09-Jun-2005 Joseph Koshy <jkoshy@FreeBSD.org>

MFP4:

- Implement sampling modes and logging support in hwpmc(4).

- Separate MI and MD parts of hwpmc(4) and allow sharing of
PMC implementations across different architectures.
Add support for P4 (EMT64) style PMCs to the amd64 code.

- New pmcstat(8) options: -E (exit time counts) -W (counts
every context switch), -R (print log file).

- pmc(3) API changes, improve our ability to keep ABI compatibility
in the future. Add more 'alias' names for commonly used events.

- bug fixes & documentation.


# c5153e19 01-May-2005 Joseph Koshy <jkoshy@FreeBSD.org>

Add convenience APIs pmc_width() and pmc_capabilities() to -lpmc.
Have pmcstat(8) and pmccontrol(8) use these APIs.

Return PMC class-related constants (PMC widths and capabilities)
with the OP GETCPUINFO call leaving OP PMCINFO to return only the
dynamic information associated with a PMC (i.e., whether enabled,
owner pid, reload count etc.).

Allow pmc_read() (i.e., OPS PMCRW) on active self-attached PMCs to
get upto-date values from hardware since we can guarantee that the
hardware is running the correct PMC at the time of the call.

Bug fixes:
- (x86 class processors) Fix a bug that prevented an RDPMC
instruction from being recognized as permitted till after the
attached process had context switched out and back in again after
a pmc_start() call.

Tighten the rules for using RDPMC class instructions: a GETMSR
OP is now allowed only after an OP ATTACH has been done by the
PMC's owner to itself. OP GETMSR is not allowed for PMCs that
track descendants, for PMCs attached to processes other than
their owner processes.

- (P4/HTT processors only) Fix a bug that caused the MI and MD
layers to get out of sync. Add a new MD operation 'get_config()'
as part of this fix.

- Allow multiple system-mode PMCs at the same row-index but on
different CPUs to be allocated.

- Reject allocation of an administratively disabled PMC.

Misc. code cleanups and refactoring. Improve a few comments.


# 67edd229 22-Apr-2005 Joseph Koshy <jkoshy@FreeBSD.org>

Note events affected by processor errata.


# ebccf1e3 18-Apr-2005 Joseph Koshy <jkoshy@FreeBSD.org>

Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities
and documentation into -CURRENT.

Bump FreeBSD_version.

Reviewed by: alc, jhb (kernel changes)