History log of /freebsd-9.3-release/lib/libpmc/pmc.p4.3
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 236238 29-May-2012 fabient

MFC r233628, r234598, r235229, r235831, r226986.

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


# 232151 25-Feb-2012 brueffer

MFC: r231871

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)


# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 213573 08-Oct-2010 uqs

mdoc: drop redundant .Pp and .LP calls

They have no effect when coming in pairs, or before .Bl/.Bd


# 206622 14-Apr-2010 uqs

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)


# 196446 23-Aug-2009 jkoshy

Fix typos, use American English spellings.


# 183595 04-Oct-2008 jkoshy

Cross-reference new manual pages.


# 183084 16-Sep-2008 jkoshy

Move PMC documentation to separate manual pages, one per PMC class.


# 177162 14-Mar-2008 jkoshy

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


# 175914 03-Feb-2008 jkoshy

Correct a typo.


# 174212 03-Dec-2007 jkoshy

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


# 173900 25-Nov-2007 jkoshy

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


# 168660 12-Apr-2007 jkoshy

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]


# 167903 26-Mar-2007 jkoshy

Clarify memory management rules for pmc_cpuinfo().

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


# 156907 20-Mar-2006 jkoshy

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


# 155998 25-Feb-2006 jkoshy

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


# 152761 24-Nov-2005 ru

Fix prototypes.


# 152551 17-Nov-2005 ru

-mdoc sweep.


# 148223 21-Jul-2005 jkoshy

Add COMPATIBILITY and HISTORY sections.

MFC after: 3 days


# 148011 14-Jul-2005 brueffer

- 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


# 147586 24-Jun-2005 ru

- 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)


# 147191 09-Jun-2005 jkoshy

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.


# 145774 01-May-2005 jkoshy

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.


# 145440 23-Apr-2005 jkoshy

Note events affected by processor errata.


# 145256 19-Apr-2005 jkoshy

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)