Fabien Thomas
c2a3620fc3
Allow compile from c++ for libpmc
...
Approved by: jkoshy (mentor)
MFC after: 3 days
2009-03-24 22:35:05 +00:00
Jeff Roberson
597979c4b7
- 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
Joseph Koshy
3c83ff13e9
Document processor errata that affect performance measurement.
2008-12-08 12:28:48 +00:00
Joseph Koshy
b4d091f3a4
Fixes for Core2 Extreme support.
...
Submitted by: "Artem Belevich" <artemb at gmail dot com>
2008-12-03 17:30:36 +00:00
Joseph Koshy
d95afe050e
Update description of an event.
...
Submitted by: "Verplanke, Edwin" <edwin dot verplanke at intel dot com>
2008-11-27 09:21:37 +00:00
Joseph Koshy
0cfab8ddc1
- 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
Joseph Koshy
d5ec7b69ec
Fix buglets.
2008-11-26 03:48:20 +00:00
Joseph Koshy
ebf07c3e19
Correction: these PMCs do not support a "umask" modifier.
2008-11-24 08:14:01 +00:00
Joseph Koshy
0f7668cbae
- 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
Joseph Koshy
944e20faf5
- 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
Joseph Koshy
0b4dcce33e
Tweak -mdoc usage.
2008-11-13 16:32:20 +00:00
Joseph Koshy
9275b7fce8
Document UMASK values, fix errors.
2008-11-13 10:40:13 +00:00
Joseph Koshy
f21fb297ad
Fix typos, document UMASK values.
2008-11-13 10:21:56 +00:00
Joseph Koshy
63653d3956
Remove duplicates, fix errors and document UMASK values.
2008-11-13 09:53:53 +00:00
Joseph Koshy
6c292c4db6
Document the alternate event names supported for "architectural" PMC events.
2008-11-12 17:43:37 +00:00
Joseph Koshy
06209c4453
Use spellings that are close to vendor documentation.
2008-11-12 17:38:23 +00:00
Joseph Koshy
789140c0e7
- 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
Joseph Koshy
8fb796642a
Correct a typo.
2008-10-06 10:34:44 +00:00
Joseph Koshy
243e1539f3
- Add cross-references.
...
- Tweak -mdoc use.
2008-10-04 12:54:25 +00:00
Joseph Koshy
2eca5e0f76
Add cross-references.
2008-10-04 12:53:08 +00:00
Joseph Koshy
8c3af4f2c2
Cross-reference new manual pages.
2008-10-04 12:44:05 +00:00
Joseph Koshy
72cf78b859
- Cross-reference new manual pages.
...
- Spell new PMC class names correctly.
2008-10-04 12:35:02 +00:00
Joseph Koshy
7042d3b9da
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
Joseph Koshy
a8a55dd98f
- 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
Joseph Koshy
f0fbd1c4a6
- Document event numbers.
...
- Sort event names.
2008-10-02 06:37:33 +00:00
Joseph Koshy
0206ebd3c8
-mdoc tweaks.
2008-10-02 06:21:07 +00:00
Joseph Koshy
8c171bf58c
- Document event numbers.
...
- Correct misspellings of two event names.
2008-10-02 06:15:40 +00:00
Joseph Koshy
624760c7f6
Document event numbers alongside event names.
...
Requested by: Arun Sharma <arun at sharma-home dot net>
2008-10-02 04:46:00 +00:00
Joseph Koshy
6455febbea
Document changes in behaviour due to sparse CPU numbering support.
2008-09-22 14:31:24 +00:00
Joseph Koshy
624f6965da
Keep symbols in sorted order.
2008-09-19 13:21:23 +00:00
Joseph Koshy
0f3866fa5f
Improve grammar.
2008-09-18 10:20:35 +00:00
Joseph Koshy
80f30b733b
Document new PMC classes, capabilities and CPU kinds.
...
Improve typography.
2008-09-18 10:16:54 +00:00
Joseph Koshy
48ddc62541
Whitespace fixes.
2008-09-17 04:13:14 +00:00
Joseph Koshy
0b9b757d45
Add event name aliases for Pentium PMCs.
2008-09-17 03:53:37 +00:00
Joseph Koshy
24f2c3f394
Replace PMC-dependent content with references to
...
the appropriate manual pages.
2008-09-16 16:58:24 +00:00
Joseph Koshy
d41debca93
Build and install PMC-dependent manual pages.
2008-09-16 16:57:14 +00:00
Joseph Koshy
7c8e922826
Fix a typo.
2008-09-16 16:53:25 +00:00
Joseph Koshy
2186848edd
Move PMC documentation to separate manual pages, one per PMC class.
2008-09-16 16:34:55 +00:00
Joseph Koshy
020247a4d2
Move TSC specific PMC information to its own manual page.
2008-09-16 16:29:41 +00:00
Joseph Koshy
6aa5a19391
Correct an event name alias: event "k7-dc-misses" does not support
...
a unitmask.
2008-09-16 14:13:03 +00:00
Joseph Koshy
bcbe65a85f
- Document Pentium and Pentium MMX events.
...
- Update (c) years and the manual page's date.
2008-03-14 06:22:03 +00:00
Joseph Koshy
484202faab
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
Joseph Koshy
ef4ba9be47
Describe return values from pmc_ncpu() and pmc_npmc() better.
2008-03-12 15:48:59 +00:00
Joseph Koshy
120da7bd62
Correct a typo.
2008-02-03 06:04:38 +00:00
Joseph Koshy
aa342b1f18
Improve style(9) compliance and trim a long text line.
2007-12-07 13:52:51 +00:00
Joseph Koshy
c5e73985de
Add callchain parsing to -lpmc.
...
Sponsored by: FreeBSD Foundation and Google Inc.
2007-12-03 11:15:46 +00:00
Joseph Koshy
0b84422642
Replace a spurious cross-reference to hwpmc(4) with correct text.
2007-12-03 10:59:23 +00:00
Joseph Koshy
c89d1cf588
- 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
Joseph Koshy
677d4530c2
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
Joseph Koshy
f28834c1a2
- 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