321225 |
19-Jul-2017 |
ngie |
MFC r316601:
pmc.atomsilvermont(3): fix manlint warnings
Start new sentences on new lines.
Sentences affected by the change are wrapped at <80 columns. Other potentially offending lines have been left alone to reduce churn. |
321223 |
19-Jul-2017 |
ngie |
MFC r316600:
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. |
321220 |
19-Jul-2017 |
ngie |
MFC r316602:
pmc_read(3): fix manlint error
Remove spurious trailing comma from last .Nm entry in NAME section. |
320137 |
20-Jun-2017 |
avg |
MFC r279833: Use the correct event table for Haswell Xeon events |
320113 |
19-Jun-2017 |
avg |
MFC r291494: Add support for Intel Skylake and Intel Broadwell PMC's. |
320109 |
19-Jun-2017 |
avg |
MFC r279835: Fix Ivy Bridge+ MEM_UOPS_RETIRED counters |
320106 |
19-Jun-2017 |
avg |
MFC r279832: Fix Sandy Bridge+ hwpmc branch counters |
320105 |
19-Jun-2017 |
avg |
MFC r279829: Add manpage for Haswell Xeon pmc implementation |
294046 |
14-Jan-2016 |
jtl |
MFC r290811: Fix hwpmc "stalled" behavior
Currently, there is a single pm_stalled flag that tracks whether a performance monitor was "stalled" due to insufficent ring buffer space for samples. However, because the same performance monitor can run on multiple processes or threads at the same time, a single pm_stalled flag that impacts them all seems insufficient.
In particular, you can hit corner cases where the code fails to stop performance monitors during a context switch out, because it thinks the performance monitor is already stopped. However, in reality, it may be that only the monitor running on a different CPU was stalled.
This patch attempts to fix that behavior by tracking on a per-CPU basis whether a PM desires to run and whether it is "stalled". This lets the code make better decisions about when to stop PMs and when to try to restart them. Ideally, we should avoid the case where the code fails to stop a PM during a context switch out.
MFC r290813: Optimizations to the way hwpmc gathers user callchains
Changes to the code to gather user stacks: * Delay setting pmc_cpumask until we actually have the stack. * When recording user stack traces, only walk the portion of the ring that should have samples for us.
MFC r290929: Change the driver stats to what they really are: unsigned values.
When pmcstat exits after some samples were dropped, give the user an idea of how many were lost. (Granted, these are global numbers, but they may still help quantify the scope of the loss.)
MFC r290930: Improve accuracy of PMC sampling frequency
The code tracks a counter which is the number of events until the next sample. On context switch in, it loads the saved counter. On context switch out, it tries to calculate a new saved counter.
Problems:
1. The saved counter was shared by all threads in a process. However, this means that all threads would be initially loaded with the same saved counter. However, that could result in sampling more often than once every X number of events.
2. The calculation to determine a new saved counter was backwards. It added when it should have subtracted, and subtracted when it should have added. Assume a single-threaded process with a reload count of 1000 events. Assuming the counter on context switch in was 100 and the counter on context switch out was 50 (meaning the thread has "consumed" 50 more events), the code would calculate a new saved counter of 150 (instead of the proper 50).
Fix:
1. As soon as the saved counter is used to initialize a monitor for a thread on context switch in, set the saved counter to the reload count. That way, subsequent threads to use the saved counter will get the full reload count, assuring we sample at least once every X number of events (across all threads).
2. Change the calculation of the saved counter. Due to the change to the saved counter in #1, we simply need to add (modulo the reload count) the remaining counter time we retrieve from the CPU when a thread is context switched out.
MFC r291016: Support a wider history counter in pmcstat(8) gmon output
pmcstat(8) contains an option to output sampling data in a gmon format compatible with gprof(1). Currently, it uses the default histcounter, which is an (unsigned short). With large sets of sampling data, it is possible to overflow the maximum value provided by an (unsigned short).
This change adds the -e argument to pmcstat. If -e and -g are both specified, pmcstat will use a histcounter type of uint64_t.
MFC r291017: Fix the date on the pmcstat(8) man page from r291016. |
280455 |
24-Mar-2015 |
rrs |
MFC of r277177 and r279894 with the fixes for the PMC for Haswell.
Sponsored by: Netflix Inc. |
267602 |
18-Jun-2014 |
kib |
MFC r267062: Disable existing uncore hwpmc code for Nehalem and Westmere EX. |
266911 |
31-May-2014 |
hiren |
MFC r263446
Update hwpmc to support core events for Atom Silvermont microarchitecture. (Model 0x4D as per Intel document 330061-001 01/2014) |
263122 |
14-Mar-2014 |
jhibbits |
MFC r261342
Add hwpmc(4) support for the PowerPC 970 class processors, direct events. This also fixes asserts on removal of the module for the mpc74xx.
The PowerPC 970 processors have two different types of events: direct events and indirect events. Thus far only direct events are supported. I included some documentation in the driver on how indirect events work, but support is for the future. |
256281 |
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
250203 |
03-May-2013 |
uqs |
Always install pmc.foo(3) manpages.
There is no point in hiding, e.g. pmc.xscale(3) from a developer running on amd64, when the target arch in question will probably never have manual pages installed at all.
Reviewed by: sbruno, hiren
|
248871 |
29-Mar-2013 |
joel |
Remove EOL whitespace.
|
248842 |
28-Mar-2013 |
sbruno |
Update hwpmc to support Haswell class processors. 0x3C: /* Per Intel document 325462-045US 01/2013. */
Add manpage to document all the goodness that is available in this processor model.
Submitted by: hiren panchasara <hiren.panchasara@gmail.com> Reviewed by: jimharris, sbruno Obtained from: Yahoo! Inc. MFC after: 2 weeks
|
248783 |
27-Mar-2013 |
bryanv |
Add missing space
MFC after: 3 days
|
247329 |
26-Feb-2013 |
mav |
Add support for good old 8192Hz profiling clock to software PMC.
Reviewed by: fabient
|
246166 |
31-Jan-2013 |
sbruno |
Update hwpmc to support the Xeon class of Ivybridge processors. case 0x3E: /* Per Intel document 325462-045US 01/2013. */
Add manpage to document all the goodness that is available in this processor model.
No support for uncore events at this time.
Submitted by: hiren panchasara <hiren.panchasara@gmail.com> Reviewed by: davide, jimharris, sbruno Obtained from: Yahoo! Inc. MFC after: 2 weeks
|
242622 |
05-Nov-2012 |
dim |
Fix a few warnings from newer clang 3.2 in libpmc, about comparing enum pmc_event values against integer constants which fall outside the enum range.
Reviewed by: fabient, sbruno MFC after: 3 days
|
241974 |
24-Oct-2012 |
sbruno |
Cleanup and rename some variables in libpmc and hwpmc.
Submitted by: hiren panchasara <hiren.panchasara@gmail.com> Reviewed by: jimharris@ sbruno@ Obtained from: Yahoo! Inc. MFC after: 2 weeks
|
241745 |
19-Oct-2012 |
joel |
Remove trailing whitespace.
|
241741 |
19-Oct-2012 |
sbruno |
Update man page crossreferences to sandybridge xeon class
MFC after: 2 weeks
|
241738 |
19-Oct-2012 |
sbruno |
Update hwpmc to support the Xeon class of Sandybridge processors. (Model 0x2D /* Per Intel document 253669-044US 08/2012. */)
Add manpage to document all the goodness that is available in this processor model.
No support for uncore events at this time.
Submitted by: hiren panchasara <hiren.panchasara@gmail.com> Reviewed by: jimharris@ fabient@ Obtained from: Yahoo! Inc. MFC after: 2 weeks
|
241255 |
06-Oct-2012 |
kientzle |
Fix "make install"
Also make arm the same as other platforms: Install man pages for all CPUs in the family.
|
240174 |
06-Sep-2012 |
joel |
Remove trailing whitespace.
|
240173 |
06-Sep-2012 |
joel |
Minor mdoc fix.
|
240164 |
06-Sep-2012 |
fabient |
Add Intel Ivy Bridge support to hwpmc(9). Update offcore RSP token for Sandy Bridge. Note: No uncore support.
Will works on Family 6 Model 3a.
MFC after: 1 month Tested by: bapt, grehan
|
236438 |
02-Jun-2012 |
joel |
mdoc: minor Bl improvements.
|
233650 |
29-Mar-2012 |
joel |
mdoc: sort prologue macros.
|
233648 |
29-Mar-2012 |
eadler |
Remove trailing whitespace per mdoc lint warning
Disussed with: gavin No objection from: doc Approved by: joel MFC after: 3 days
|
233628 |
28-Mar-2012 |
fabient |
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
|
233565 |
27-Mar-2012 |
joel |
Remove useless Ta macro.
|
233462 |
25-Mar-2012 |
joel |
Remove superfluous paragraph macro.
|
233451 |
25-Mar-2012 |
gonzo |
Update manual pages for MIPS-related CPUs:
- Rename pmc.mips to pmc.mips24k since it covers just one CPU, no whole architecture - Add documetnations for Octeon's PMC counters - Remove CAVEATS section from pmc.mips24k page: PMC for MIPS supports sampling now.
|
233335 |
23-Mar-2012 |
gonzo |
Add Octeon-related parts to libpmc
|
233321 |
22-Mar-2012 |
jkoshy |
Correct a function prototype.
Submitted by: "Anders Magnusson" <ragge at ludd.ltu.se>, via joel
|
233320 |
22-Mar-2012 |
gonzo |
Make reusable part of code have mips prefix, not mips24
|
232377 |
02-Mar-2012 |
pluknet |
Kill EoL whitespaces, and minor lint.
|
232366 |
01-Mar-2012 |
davide |
- Add support for the Intel Sandy Bridge microarchitecture (both core and uncore counting events) - New manpages with event lists. - Add MSRs for the Intel Sandy Bridge microarchitecture
Reviewed by: attilio, brueffer, fabient Approved by: gnn (mentor) MFC after: 3 weeks
|
232159 |
25-Feb-2012 |
gjb |
Whitespace cleanup: o Wrap sentences on to new lines o Rewrap lines where possible while trying to keep the diff to a minimum
Found with: textproc/igor MFC after: 1 week X-MFC-With: r232157
|
232158 |
25-Feb-2012 |
gjb |
Whitespace cleanup: o Wrap sentences on to new lines o Cleanup trailing whitespace
Found with: textproc/igor MFC after: 1 week X-MFC-With: r232157
|
232157 |
25-Feb-2012 |
gjb |
Fix various typos in manual pages.
Submitted by: amdmi3 PR: 165431 MFC after: 1 week
|
231871 |
17-Feb-2012 |
brueffer |
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
|
229470 |
04-Jan-2012 |
fabient |
Update PMC events from October 2011 Intel documentation.
Submitted by: Davide Italiano <davide.italiano@gmail.com> MFC after: 3 days
|
228869 |
24-Dec-2011 |
jhibbits |
Implement hwpmc counting PMC support for PowerPC G4+ (MPC745x/MPC744x). Sampling is in progress.
Approved by: nwhitehorn (mentor) MFC after: 9.0-RELEASE
|
228557 |
16-Dec-2011 |
dim |
In lib/libpmc/libpmc.c, struct pmc_cputype_map's pm_cputype field should be of type 'enum pmc_cputype', not 'enum pmc_class'.
MFC after: 1 week
|
226514 |
18-Oct-2011 |
fabient |
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
|
226436 |
16-Oct-2011 |
eadler |
- change "is is" to "is" or "it is" - change "the the" to "the"
Approved by: lstewart Approved by: sahil (mentor) MFC after: 3 days
|
218532 |
11-Feb-2011 |
imp |
Revert last commit: CPUTYPE will be defined here
|
218531 |
11-Feb-2011 |
imp |
Don't require CPUTYPE to be defined for ARM, but use it if it is.
|
214867 |
06-Nov-2010 |
uqs |
Fix manpage markup.
|
213573 |
08-Oct-2010 |
uqs |
mdoc: drop redundant .Pp and .LP calls
They have no effect when coming in pairs, or before .Bl/.Bd
|
213402 |
04-Oct-2010 |
gnn |
Fix punctuation and grammar, mostly by ending sentences with a period.
MFC after: 1 day
|
212224 |
05-Sep-2010 |
fabient |
Fix invalid class removal when IAF is not the last class. Keep IAF class with 0 PMC and change the alias in libpmc to IAP.
MFC after: 1 week
|
211725 |
23-Aug-2010 |
imp |
MFtbemd:
Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want to test of all the CPUs of a given family conform.
|
211397 |
16-Aug-2010 |
joel |
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>
|
210933 |
06-Aug-2010 |
joel |
Fix typos and spelling mistakes.
|
210823 |
03-Aug-2010 |
joel |
Spelling fixes.
|
208914 |
08-Jun-2010 |
uqs |
mdoc: remove literal tabs where they don't belong
|
208860 |
05-Jun-2010 |
fabient |
Fix memory leak on error.
Found with: Coverity Prevent(tm) MFC after: 1 month
|
208732 |
02-Jun-2010 |
uqs |
mdoc cleanup
Garbage collect unused sections, macros and arguments. Fix prologue and remove empty lines.
Found by: mdocml
|
208595 |
27-May-2010 |
uqs |
mdoc: Use mdoc macro for the (R) symbol
While here, also drop the unneeded quotes
|
208027 |
13-May-2010 |
uqs |
mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the bottom of the manpages and order them consistently.
GNU groff doesn't care about the ordering, and doesn't even mention CAVEATS and SECURITY CONSIDERATIONS as common sections and where to put them.
Found by: mdocml lint run Reviewed by: ru
|
207482 |
01-May-2010 |
rstone |
When configuring hwpmc to use the EXT_SNOOP event, only send a default cachestate qualifier on the Atom processor. Other Intel processors do not accept a cachestate qualifier and currently hwpmc will return EINVAL if you try to use the EXT_SNOOP event on those processors
Approved by: jkoshy (mentor) MFC after: 2 weeks
|
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)
|
206089 |
02-Apr-2010 |
fabient |
- Support for uncore counting events: one fixed PMC with the uncore domain clock, 8 programmable PMC. - Westmere based CPU (Xeon 5600, Corei7 980X) support. - New man pages with events list for core and uncore. - Updated Corei7 events with Intel 253669-033US December 2009 doc. There is some removed events in the documentation, they have been kept in the code but documented in the man page as obsolete. - Offcore response events can be setup with rsp token.
Sponsored by: NETASQ
|
205512 |
23-Mar-2010 |
rpaulo |
Finish the much belated Intel XScale hwpmc(4) man page.
|
204635 |
03-Mar-2010 |
gnn |
Add support for hwpmc(4) on the MIPS 24K, 32 bit, embedded processor.
Add macros for properly accessing coprocessor 0 registers that support performance counters.
Reviewed by: jkoshy rpaulo fabien imp MFC after: 1 month
|
202157 |
12-Jan-2010 |
jkoshy |
Bug fix: add a missing initializer.
Submitted by: Luca Pizzamiglio <luca.pizzamiglio at gmail dot com> PR: i386/142742
|
201381 |
02-Jan-2010 |
ed |
Build lib/ with WARNS=6 by default.
Similar to libexec/, do the same with lib/. Make WARNS=6 the norm and lower it when needed.
I'm setting WARNS?=0 for secure/. It seems secure/ includes the Makefile.inc provided by lib/. I'm not going to touch that directory. Most of the code there is contributed anyway.
|
200928 |
23-Dec-2009 |
rpaulo |
Intel XScale hwpmc(4) support.
This brings hwpmc(4) support for 2nd and 3rd generation XScale cores. Right now it's enabled by default to make sure we test this a bit. When the time comes it can be disabled by default. Tested on Gateworks boards.
A man page is coming.
Obtained from: //depot/user/rpaulo/xscalepmc/...
|
198788 |
02-Nov-2009 |
brueffer |
Use our canonical .Dd format.
Submitted by: Ulrich Spoerlein
|
198433 |
24-Oct-2009 |
jkoshy |
Not all Intel Core (TM) CPUs implement PMC_CLASS_IAF fixed-function counters. For such CPUs, use an alternate mapping of convenience names to events supported by PMC_CLASS_IAP programmable counters.
Testing and review by: fabient
|
197741 |
04-Oct-2009 |
rpaulo |
Install x86 related man pages on x86 systems only.
Reviewed by: jkoshy
|
196469 |
23-Aug-2009 |
jkoshy |
Use a more appropriate choice of words.
Submitted by: danfe
|
196449 |
23-Aug-2009 |
jkoshy |
Use US spellings, fix typos.
|
196448 |
23-Aug-2009 |
jkoshy |
Fix typos.
|
196447 |
23-Aug-2009 |
jkoshy |
Fix a typo.
|
196446 |
23-Aug-2009 |
jkoshy |
Fix typos, use American English spellings.
|
196445 |
23-Aug-2009 |
jkoshy |
Fix typos.
|
196441 |
23-Aug-2009 |
jkoshy |
Correct typos.
|
196440 |
23-Aug-2009 |
jkoshy |
Correct grammar.
|
196438 |
23-Aug-2009 |
jkoshy |
Fix a typo.
Reported by: John McCullough <jmccullo at cs.ucsd.edu>
|
196437 |
23-Aug-2009 |
jkoshy |
Fix typos.
Reported by: Harald Servat <redcrash at gmail dot com>
|
193810 |
09-Jun-2009 |
jkoshy |
Document the fact that some Core2 family CPUs lack fixed-function counters.
|
193809 |
09-Jun-2009 |
jkoshy |
Fix parsing of Core2 event qualifiers.
Submitted by: Nikola K <laladelausanne at gmail dot com>
|
190395 |
24-Mar-2009 |
fabient |
Allow compile from c++ for libpmc
Approved by: jkoshy (mentor) MFC after: 3 days
|
187761 |
27-Jan-2009 |
jeff |
- 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
|
185763 |
08-Dec-2008 |
jkoshy |
Document processor errata that affect performance measurement.
|
185585 |
03-Dec-2008 |
jkoshy |
Fixes for Core2 Extreme support.
Submitted by: "Artem Belevich" <artemb at gmail dot com>
|
185364 |
27-Nov-2008 |
jkoshy |
Update description of an event.
Submitted by: "Verplanke, Edwin" <edwin dot verplanke at intel dot com>
|
185363 |
27-Nov-2008 |
jkoshy |
- 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
|
185326 |
26-Nov-2008 |
jkoshy |
Fix buglets.
|
185247 |
24-Nov-2008 |
jkoshy |
Correction: these PMCs do not support a "umask" modifier.
|
185246 |
24-Nov-2008 |
jkoshy |
- Document the rules used to determine when spellings of events are equivalent. - Reorder text to make the manual page more coherent.
|
184995 |
15-Nov-2008 |
jkoshy |
- Document the class name prefix for these PMCs. - Document the "anythread" qualifier, available on Atom CPUs. - Add examples.
|
184932 |
13-Nov-2008 |
jkoshy |
Tweak -mdoc usage.
|
184917 |
13-Nov-2008 |
jkoshy |
Document UMASK values, fix errors.
|
184916 |
13-Nov-2008 |
jkoshy |
Fix typos, document UMASK values.
|
184914 |
13-Nov-2008 |
jkoshy |
Remove duplicates, fix errors and document UMASK values.
|
184892 |
12-Nov-2008 |
jkoshy |
Document the alternate event names supported for "architectural" PMC events.
|
184891 |
12-Nov-2008 |
jkoshy |
Use spellings that are close to vendor documentation.
|
183725 |
09-Oct-2008 |
jkoshy |
- 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.
|
183641 |
06-Oct-2008 |
jkoshy |
Correct a typo.
|
183597 |
04-Oct-2008 |
jkoshy |
- Add cross-references. - Tweak -mdoc use.
|
183596 |
04-Oct-2008 |
jkoshy |
Add cross-references.
|
183595 |
04-Oct-2008 |
jkoshy |
Cross-reference new manual pages.
|
183594 |
04-Oct-2008 |
jkoshy |
- Cross-reference new manual pages. - Spell new PMC class names correctly.
|
183593 |
04-Oct-2008 |
jkoshy |
Add manual pages for performance measurement counters present in Intel Atom(tm), Core(tm) and Core2(tm) CPUs.
|
183543 |
02-Oct-2008 |
jkoshy |
- Document event numbers associated with event names. - Document an event that was missed out earlier. - Sort event names alphabetically.
|
183540 |
02-Oct-2008 |
jkoshy |
- Document event numbers. - Sort event names.
|
183537 |
02-Oct-2008 |
jkoshy |
-mdoc tweaks.
|
183534 |
02-Oct-2008 |
jkoshy |
- Document event numbers. - Correct misspellings of two event names.
|
183533 |
02-Oct-2008 |
jkoshy |
Document event numbers alongside event names.
Requested by: Arun Sharma <arun at sharma-home dot net>
|
183267 |
22-Sep-2008 |
jkoshy |
Document changes in behaviour due to sparse CPU numbering support.
|
183184 |
19-Sep-2008 |
jkoshy |
Keep symbols in sorted order.
|
183139 |
18-Sep-2008 |
jkoshy |
Improve grammar.
|
183138 |
18-Sep-2008 |
jkoshy |
Document new PMC classes, capabilities and CPU kinds. Improve typography.
|
183107 |
17-Sep-2008 |
jkoshy |
Whitespace fixes.
|
183105 |
17-Sep-2008 |
jkoshy |
Add event name aliases for Pentium PMCs.
|
183087 |
16-Sep-2008 |
jkoshy |
Replace PMC-dependent content with references to the appropriate manual pages.
|
183086 |
16-Sep-2008 |
jkoshy |
Build and install PMC-dependent manual pages.
|
183085 |
16-Sep-2008 |
jkoshy |
Fix a typo.
|
183084 |
16-Sep-2008 |
jkoshy |
Move PMC documentation to separate manual pages, one per PMC class.
|
183082 |
16-Sep-2008 |
jkoshy |
Move TSC specific PMC information to its own manual page.
|
183075 |
16-Sep-2008 |
jkoshy |
Correct an event name alias: event "k7-dc-misses" does not support a unitmask.
|
177162 |
14-Mar-2008 |
jkoshy |
- Document Pentium and Pentium MMX events. - Update (c) years and the manual page's date.
|
177107 |
12-Mar-2008 |
jkoshy |
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.
|
177106 |
12-Mar-2008 |
jkoshy |
Describe return values from pmc_ncpu() and pmc_npmc() better.
|
175914 |
03-Feb-2008 |
jkoshy |
Correct a typo.
|
174406 |
07-Dec-2007 |
jkoshy |
Improve style(9) compliance and trim a long text line.
|
174215 |
03-Dec-2007 |
jkoshy |
Add callchain parsing to -lpmc.
Sponsored by: FreeBSD Foundation and Google Inc.
|
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.
|
173899 |
25-Nov-2007 |
jkoshy |
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().
|
173889 |
25-Nov-2007 |
jkoshy |
- 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.
|
173880 |
24-Nov-2007 |
jkoshy |
Describe convenience functions `pmc_name_of_{capability,class,cputype, disposition,event,mode,state}' in their own manual page.
|
173872 |
23-Nov-2007 |
jkoshy |
Describe pmc_event_names_of_class() in its own manual page.
|
173871 |
23-Nov-2007 |
jkoshy |
Describe pmc_enable() and pmc_disable() in their own manual page.
|
173870 |
23-Nov-2007 |
jkoshy |
Describe pmc_allocate() and pmc_release() in their own manual page.
|
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]
|
168612 |
11-Apr-2007 |
jkoshy |
Correct a typo in an event name alias.
Reported by: Harald Servat <redcrash at gmail dot com>
|
167903 |
26-Mar-2007 |
jkoshy |
Clarify memory management rules for pmc_cpuinfo().
Suggested by: "Harald Servat" <redcrash at gmail dot com>
|
162385 |
17-Sep-2006 |
ru |
Markup fixes.
|
157144 |
26-Mar-2006 |
jkoshy |
MFP4: Support for profiling dynamically loaded objects.
Kernel changes:
Inform hwpmc of executable objects brought into the system by kldload() and mmap(), and of their removal by kldunload() and munmap(). A helper function linker_hwpmc_list_objects() has been added to "sys/kern/kern_linker.c" and is used by hwpmc to retrieve the list of currently loaded kernel modules.
The unused `MAPPINGCHANGE' event has been deprecated in favour of separate `MAP_IN' and `MAP_OUT' events; this change reduces space wastage in the log.
Bump the hwpmc's ABI version to "2.0.00". Teach hwpmc(4) to handle the map change callbacks.
Change the default per-cpu sample buffer size to hold 32 samples (up from 16).
Increment __FreeBSD_version.
libpmc(3) changes:
Update libpmc(3) to deal with the new events in the log file; bring the pmclog(3) manual page in sync with the code.
pmcstat(8) changes:
Introduce new options to pmcstat(8): "-r" (root fs path), "-M" (mapfile name), "-q"/"-v" (verbosity control). Option "-k" now takes a kernel directory as its argument but will also work with the older invocation syntax.
Rework string handling in pmcstat(8) to use an opaque type for interned strings. Clean up ELF parsing code and add support for tracking dynamic object mappings reported by a v2.0.00 hwpmc(4).
Report statistics at the end of a log conversion run depending on the requested verbosity level.
Reviewed by: jhb, dds (kernel parts of an earlier patch) Tested by: gallatin (earlier patch)
|
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
|
148222 |
21-Jul-2005 |
jkoshy |
Catch with the source code. Sort a list alphabetically. Add a HISTORY section.
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
|
147864 |
09-Jul-2005 |
jkoshy |
Fix a bug in pmclog_read() that causes it to return with a false error when a log record crosses an internal buffer boundary.
Approved by: re (scottl)
|
147759 |
03-Jul-2005 |
jkoshy |
- Update the CPU version check to recognize P4/EMT64 CPUs. [1] - Allow libpmc(3) to support P4/EMT64 PMCs on the amd64 architecture and AMD K8 PMCs on the i386. [2]
Submitted by: ps [1] Pointy hat: myself [2] Approved by: re (scottl)
|
147708 |
30-Jun-2005 |
jkoshy |
MFP4:
- pmcstat(8) gprof output mode fixes:
lib/libpmc/pmclog.{c,h}, sys/sys/pmclog.h: + Add a 'is_usermode' field to the PMCLOG_PCSAMPLE event + Add an 'entryaddr' field to the PMCLOG_PROCEXEC event, so that pmcstat(8) can determine where the runtime loader /libexec/ld-elf.so.1 is getting loaded.
sys/kern/kern_exec.c: + Use a local struct to group the entry address of the image being exec()'ed and the process credential changed flag to the exec handling hook inside hwpmc(4).
usr.sbin/pmcstat/*: + Support "-k kernelpath", "-D sampledir". + Implement the ELF bits of 'gmon.out' profile generation in a new file "pmcstat_log.c". Move all log related functions to this file. + Move local definitions and prototypes to "pmcstat.h"
- Other bug fixes: + lib/libpmc/pmclog.c: correctly handle EOF in pmclog_read(). + sys/dev/hwpmc_mod.c: unconditionally log a PROCEXIT event to all attached PMCs when a process exits. + sys/sys/pmc.h: correct a function prototype. + Improve usage checks in pmcstat(8).
Approved by: re (blanket hwpmc)
|
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)
|
147584 |
24-Jun-2005 |
ru |
Tidy up the markup.
Reviewed by: jkoshy Approved by: re (blanket)
|
147219 |
10-Jun-2005 |
jkoshy |
Fix tinderbox breakage.
|
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.
|
145351 |
21-Apr-2005 |
jkoshy |
Add event aliases for P6 and K8 PMCs.
|
145340 |
20-Apr-2005 |
marcel |
o Do not include <machine/pmc_mdep.h>. It's automaticly included for us when <sys/pmc.h> is included. o Replace "#if __i386__" and "#if __amd64__" with the equivalent of "#ifdef __i386__" and "#ifdef __amd64__" (resp.) These tokens are not defined on all platforms. o Conditionally compile pmc_parse_mask() on i386 and amd64 only. It's only referenced there. This will change when support for other platforms is added, of course.
Ok'd by: jkoshy@
|
145315 |
20-Apr-2005 |
jkoshy |
Remove extra Id keyword.
|
145280 |
19-Apr-2005 |
jkoshy |
Remove superfluous CFLAGS lines. Use the conditional '?=' construct for WARNS lines.
Submitted by: ru
|
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)
|