79 Commits

Author SHA1 Message Date
jeff
ca96799f52 - Add support for nehalem/corei7 cpus. This supports all of the core
counters defined in the reference manual.  It does not support the
   'uncore' events.

Reviewed by:	jkoshy
Sponsored by:	Nokia
2009-01-27 07:29:37 +00:00
jkoshy
672c135fef Document processor errata that affect performance measurement. 2008-12-08 12:28:48 +00:00
jkoshy
dbaaeca1e6 Fixes for Core2 Extreme support.
Submitted by:	 "Artem Belevich" <artemb at gmail dot com>
2008-12-03 17:30:36 +00:00
jkoshy
e10155204b Update description of an event.
Submitted by:	"Verplanke, Edwin" <edwin dot verplanke at intel dot com>
2008-11-27 09:21:37 +00:00
jkoshy
aa86a7c59e - Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo
and Core Duo), models 0xF (Core2), model 0x17 (Core2Extreme) and
  model 0x1C (Atom).

  In these CPUs, the actual numbers, kinds and widths of PMCs present
  need to queried at run time.  Support for specific "architectural"
  events also needs to be queried at run time.

  Model 0xE CPUs support programmable PMCs, subsequent CPUs
  additionally support "fixed-function" counters.

- Use event names that are close to vendor documentation, taking in
  account that:
  - events with identical semantics on two or more CPUs in this family
    can have differing names in vendor documentation,
  - identical vendor event names may map to differing events across
    CPUs,
  - each type of CPU supports a different subset of measurable
    events.

  Fixed-function and programmable counters both use the same vendor
  names for events.  The use of a class name prefix ("iaf-" or
  "iap-" respectively) permits these to be distinguished.

- In libpmc, refactor pmc_name_of_event() into a public interface
  and an internal helper function, for use by log handling code.

- Minor code tweaks: staticize a global, freshen a few comments.

Tested by:	gnn
2008-11-27 09:00:47 +00:00
jkoshy
e796814dfa Fix buglets. 2008-11-26 03:48:20 +00:00
jkoshy
87f4b6d485 Correction: these PMCs do not support a "umask" modifier. 2008-11-24 08:14:01 +00:00
jkoshy
57f8aca209 - Document the rules used to determine when spellings of events
are equivalent.
- Reorder text to make the manual page more coherent.
2008-11-24 08:11:33 +00:00
jkoshy
b73772de68 - Document the class name prefix for these PMCs.
- Document the "anythread" qualifier, available on Atom CPUs.
- Add examples.
2008-11-15 11:34:30 +00:00
jkoshy
e5806365f9 Tweak -mdoc usage. 2008-11-13 16:32:20 +00:00
jkoshy
a302d8e554 Document UMASK values, fix errors. 2008-11-13 10:40:13 +00:00
jkoshy
2777185951 Fix typos, document UMASK values. 2008-11-13 10:21:56 +00:00
jkoshy
161af4372a Remove duplicates, fix errors and document UMASK values. 2008-11-13 09:53:53 +00:00
jkoshy
4f8c998b6a Document the alternate event names supported for "architectural" PMC events. 2008-11-12 17:43:37 +00:00
jkoshy
10ed8c3117 Use spellings that are close to vendor documentation. 2008-11-12 17:38:23 +00:00
jkoshy
62245b8648 - Sparsely number enumerations 'pmc_cputype' and 'pmc_event' in order to
reduce ABI disruptions when new cpu types and new PMC events are added
  in the future.
- Support alternate spellings for PMC events.  Derive the canonical
  spelling of an event name from its enumeration name in 'enum pmc_event'.
- Provide a way for users to disambiguate between identically named events
  supported by multiple classes of PMCs in a CPU.
- Change libpmc's machine-dependent event specifier parsing code to
  better support CPUs containing two or more classes of PMC resources.
2008-10-09 14:55:45 +00:00
jkoshy
b964421dc9 Correct a typo. 2008-10-06 10:34:44 +00:00
jkoshy
aa0d582606 - Add cross-references.
- Tweak -mdoc use.
2008-10-04 12:54:25 +00:00
jkoshy
61dadf8c5e Add cross-references. 2008-10-04 12:53:08 +00:00
jkoshy
8382297f14 Cross-reference new manual pages. 2008-10-04 12:44:05 +00:00
jkoshy
8bf9e82033 - Cross-reference new manual pages.
- Spell new PMC class names correctly.
2008-10-04 12:35:02 +00:00
jkoshy
d53aeb488c Add manual pages for performance measurement counters present in
Intel Atom(tm), Core(tm) and Core2(tm) CPUs.
2008-10-04 12:27:49 +00:00
jkoshy
e753484473 - Document event numbers associated with event names.
- Document an event that was missed out earlier.
- Sort event names alphabetically.
2008-10-02 08:53:06 +00:00
jkoshy
e775ff8588 - Document event numbers.
- Sort event names.
2008-10-02 06:37:33 +00:00
jkoshy
4ab86caef8 -mdoc tweaks. 2008-10-02 06:21:07 +00:00
jkoshy
ea821fb99b - Document event numbers.
- Correct misspellings of two event names.
2008-10-02 06:15:40 +00:00
jkoshy
7db8ef2245 Document event numbers alongside event names.
Requested by:		Arun Sharma <arun at sharma-home dot net>
2008-10-02 04:46:00 +00:00
jkoshy
0d9d822db0 Document changes in behaviour due to sparse CPU numbering support. 2008-09-22 14:31:24 +00:00
jkoshy
2fad7e6a9b Keep symbols in sorted order. 2008-09-19 13:21:23 +00:00
jkoshy
27963af43f Improve grammar. 2008-09-18 10:20:35 +00:00
jkoshy
2eb96d23a7 Document new PMC classes, capabilities and CPU kinds.
Improve typography.
2008-09-18 10:16:54 +00:00
jkoshy
8dda766e41 Whitespace fixes. 2008-09-17 04:13:14 +00:00
jkoshy
5dfb9467b3 Add event name aliases for Pentium PMCs. 2008-09-17 03:53:37 +00:00
jkoshy
1895a00fef Replace PMC-dependent content with references to
the appropriate manual pages.
2008-09-16 16:58:24 +00:00
jkoshy
8d1b22f6ed Build and install PMC-dependent manual pages. 2008-09-16 16:57:14 +00:00
jkoshy
deffb81337 Fix a typo. 2008-09-16 16:53:25 +00:00
jkoshy
9ec48f3bd4 Move PMC documentation to separate manual pages, one per PMC class. 2008-09-16 16:34:55 +00:00
jkoshy
253d17b642 Move TSC specific PMC information to its own manual page. 2008-09-16 16:29:41 +00:00
jkoshy
f145085b0d Correct an event name alias: event "k7-dc-misses" does not support
a unitmask.
2008-09-16 14:13:03 +00:00
jkoshy
d51a5310b2 - Document Pentium and Pentium MMX events.
- Update (c) years and the manual page's date.
2008-03-14 06:22:03 +00:00
jkoshy
9efc2e038a Bring the behaviour of pmc_capabilities() and pmc_width() in line with
documentation: set 'errno' and return -1 in case of an error.

Update (c) years.
2008-03-12 15:51:32 +00:00
jkoshy
dc87dccab6 Describe return values from pmc_ncpu() and pmc_npmc() better. 2008-03-12 15:48:59 +00:00
jkoshy
234cf2fb65 Correct a typo. 2008-02-03 06:04:38 +00:00
jkoshy
93ff0fa40d Improve style(9) compliance and trim a long text line. 2007-12-07 13:52:51 +00:00
jkoshy
86277bac23 Add callchain parsing to -lpmc.
Sponsored by:	FreeBSD Foundation and Google Inc.
2007-12-03 11:15:46 +00:00
jkoshy
ca4d74c30f Replace a spurious cross-reference to hwpmc(4) with correct text. 2007-12-03 10:59:23 +00:00
jkoshy
3cb99b8147 - Add an overview of the pmc(3) API.
- Defer detailed descriptions of individual functions in the API to
  function-specific manual pages.
2007-11-25 06:50:31 +00:00
jkoshy
9b5ab01a49 Move the following functions into their own manual pages:
- pmc_attach(), pmc_detach().
- pmc_capabilities(), pmc_cpuinfo(), pmc_ncpu(), pmc_npmc(), pmc_pmcinfo(),
  pmc_width().
- pmc_get_driver_stats().
- pmc_get_msr().
- pmc_read(), pmc_rw(), pmc_write().
- pmc_set().
- pmc_start(), pmc_stop().
2007-11-25 06:38:55 +00:00
jkoshy
8f8a9c4e05 - Describe function pmc_init() in its own manual page.
- Describe functions pmc_configure_logfile(), pmc_flush_logfile() and
  pmc_writelog() in their own manual page.
2007-11-25 03:18:42 +00:00
jkoshy
c4a638e4ab Describe convenience functions `pmc_name_of_{capability,class,cputype,
disposition,event,mode,state}' in their own manual page.
2007-11-24 11:05:36 +00:00