#
303975 |
|
11-Aug-2016 |
gjb |
Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, and rename it to RC1.
Update __FreeBSD_version.
Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and the dvd1.iso packages population.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
302408 |
|
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
298955 |
|
03-May-2016 |
pfg |
sys/dev: minor spelling fixes.
Most affect comments, very few have user-visible effects.
|
#
291494 |
|
30-Nov-2015 |
rrs |
Add support for Intel Skylake and Intel Broadwell PMC's. The Broadwell PMC's have been tested on the Broadwell-Xeon with a hacked up version of pmcstudy -T. I still need to circle back and add in to pmcstudy all the new tests from the Broadwell Vtune guide (for the hacked up version I just made it so I could run the -T option). The Skylake CPU is not yet available (even though Intel is advertising it .. imagine that). The Skylake PMC's will need to be tested once we can get a sample skylake CPU :-)
Sponsored by: Netflix Inc.
|
#
289320 |
|
14-Oct-2015 |
bz |
Now that we can detect the Cortex-A8 properly, fix the event list according to the Cortex-A8 TRM r3p2 section 3.2.49. The A8 list differs from the "ARM-v7 common" list, given the A8 was an earlier model.
There is still more work to be done for other Cortex-Ax version as andrew points out, but I am just trying to fix A8 for now for teaching.
MFC after: 2 weeks Sponsored by: DARPA/AFRL Obtained from: Cambridge/L41 Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D3876
|
#
284218 |
|
10-Jun-2015 |
br |
o Rework ARMv7 events list using aliases - same way as we have for arm64. o Extend it with Cortex A9-specific events.
|
#
283112 |
|
19-May-2015 |
br |
Add Performance Monitoring Counters support for AArch64. Family-common and CPU-specific counters implemented.
Supported CPUs: ARM Cortex A53/57/72.
Reviewed by: andrew, bz, emaste, gnn, jhb Sponsored by: ARM Limited Differential Revision: https://reviews.freebsd.org/D2555
|
#
281713 |
|
18-Apr-2015 |
jhibbits |
Implement hwpmc(4) for Freescale e500 core.
This supports e500v1, e500v2, and e500mc. Tested only on e500v2, but the performance counters are identical across all, with e500mc having some additional events.
Relnotes: Yes
|
#
281102 |
|
05-Apr-2015 |
rpaulo |
hwpmc: add initial Intel Broadwell support.
The full list of aliases and events will follow in a subsequent commit.
MFC after: 1 month
|
#
281098 |
|
05-Apr-2015 |
adrian |
Add support for the MIPS74K SoC family performance counters events.
These are similar to the mips24k performance counters - some are available on perfcnt0/3, some are available on perfcnt1/4. However, the events aren't all the same.
* Add the events, named the same as from Linux oprofile. * Verify they're the same as "MIPS32(R) 74KTM Processor Core Family Software User's Manual"; Document Number: MD00519; Revision 01.05. * Rename INSTRUCTIONS to something else, so it doesn't clash with the alias INSTRUCTIONS. I'll try to tidy this up later; there are a few other aliases to add and shuffle around.
Tested:
* QCA9558 SoC (AP135 board) - MIPS74Kc core (no FPU.) * make universe; where it didn't fail for other reasons.
TODO:
* It'd be nice to support the four performance counters in at least this hardware, rather than just two.
Reviewed by: bsdimp ("looks good; don't break world".)
|
#
279835 |
|
10-Mar-2015 |
rstone |
Fix Ivy Bridge+ MEM_UOPS_RETIRED counters
The MEM_UOPS_RETIRED actually work the same way as the Sandy Bridge counters, but the counters were documented in a different way and that seemed to cause the Ivy Bridge counters to be implemented incorrectly. Use the same counter definitions as Sandy Bridge. While I'm here, rename the counters to match what's documented in the datasheet.
Differential Revision: https://reviews.freebsd.org/D1590 MFC after: 1 month Sponsored by: Sandvine Inc.
|
#
279834 |
|
10-Mar-2015 |
rstone |
Support architectural events on Haswell/Ivy Bridge
Differential Revision: https://reviews.freebsd.org/D1589 MFC after: 1 month Sponsored by: Sandvine Inc
|
#
279832 |
|
10-Mar-2015 |
rstone |
Fix Sandy Bridge+ hwpmc branch counters
On Sandy Bridge and later, to count branch-related events you have to or together a mask indicating the type of branch instruction to count (e.g. direct jump, branch, etc) and a bits indicating whether to count taken and not-taken branches. The current counter definitions where defining this bits individually, so the counters never worked and always just counted 0.
Fix the counter definitions to instead contain the proper combination of masks. Also update the man pages to reflect the new counters.
Differential Revision: https://reviews.freebsd.org/D1587 MFC after: 1 month Sponsored by: Sandvine Inc.
|
#
279830 |
|
10-Mar-2015 |
rstone |
Fix various bugs in Haswell counter definitions
1) The "WALK_COMPLETED_2M_4M" event incorrectly referenced 4K pages. 2) The umask for RING0 and RING123 events was reversed.
Differential Revision: https://reviews.freebsd.org/D1585 MFC after: 1 month Sponsored by: Sandvine Inc
|
#
277835 |
|
28-Jan-2015 |
br |
Add ARMv7 performance monitoring counters.
Differential Revision: https://reviews.freebsd.org/D1687 Reviewed by: rpaulo Sponsored by: DARPA, AFRL
|
#
277524 |
|
22-Jan-2015 |
rstone |
style(9) cleanup
|
#
277177 |
|
14-Jan-2015 |
rrs |
Update the hwpmc driver to have the new type HASWELL_XEON. Also go back through HASWELL, IVY_BRIDGE, IVY_BRIDGE_XEON and SANDY_BRIDGE to straighten out all the missing PMCs. We also add a new pmc tool pmcstudy, this allows one to run the various formulas from the documents "Using Intel Vtune Amplifier XE on XXX Generation platforms" for IB/SB and Haswell. The tool also allows one to postulate your own formulas with any of the various PMC's. At some point I will enahance this to work with Brendan Gregg's flame-graphs so we can flamegraph various PMC interactions. Note the manual page also needs some work (lots of work) but gnn has committed to help me with that ;-) Reviewed by: gnn MFC after:1 month Sponsored by: Netflix Inc.
|
#
266983 |
|
02-Jun-2014 |
gnn |
Add missing Ivy Bridge and Haswell events.
Submitted by: Anton Rang <rang@mac.com> MFC: 2 weeks
|
#
263446 |
|
20-Mar-2014 |
hiren |
Update hwpmc to support core events for Atom Silvermont microarchitecture. (Model 0x4D as per Intel document 330061-001 01/2014)
Tested by: Olivier Cochard-Labbe <olivier@cochatrd.me> MFC after: 4 weeks
|
#
261342 |
|
01-Feb-2014 |
jhibbits |
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.
MFC after: 1 month
|
#
255022 |
|
29-Aug-2013 |
adrian |
Remove the duplicate LLC_MISS event and put it in the right order.
|
#
254855 |
|
25-Aug-2013 |
adrian |
Update the mis-predicted branch PMC names (for sandy bridge) to not clash.
The SDM (June 2013) tables on these are rather confusing. Yes, they assign the same name (BR_MISP_RETIRED.ALL_BRANCHES) to two codes (C5H/00H and C5H/04H.) The latter however is the PEBS version.
So, to make it easier to see the difference - and yes, we can use both without having to actually enable the PEBS specific bits! - just rename the PEBS one to _PS so there's no clashing.
Tested:
* Sandy bridge
|
#
254824 |
|
25-Aug-2013 |
adrian |
Update the MEM_UOP_RETIRED PMC operation for sandy bridge and sandy bridge Xeon.
Summary: These are PEBS events but they're also available as normal counter/sample events. The source table (Table 19-2) lists the base versions (LOAD, STLB_MISS, SPLIT, ALL) but it says they must be qualified with other values. This particular commit fleshes out those umask values.
Source:
* Linux; SDM June 2013, Volume 3B, Table 19-2 and 18-21.
Tested:
* Sandy Bridge (non-Xeon)
|
#
254616 |
|
21-Aug-2013 |
adrian |
Change the name of this particular event to reflect the name used in Linux and Intel examples.
Sourced:
* https://github.com/andikleen/pmu-tools/blob/master/snb-client.csv * http://software.intel.com/en-us/comment/1747932#comment-1747932
Note:
* It's not currently in the Intel SDM; I need to chase down what's going on.
Tested:
* Sandy Bridge
|
#
254571 |
|
20-Aug-2013 |
bz |
Correct a typo in the event mask mnemonic.
Reviewed by: gnn MFC after: 3 days
|
#
254476 |
|
18-Aug-2013 |
adrian |
Add in missing events for Sandy Bridge Xeon.
* Add in MEM_LOAD_UOPS_LLC_HIT_RETIRED for both sandy bridge and sandy bridge Xeon. Right now it only is enabled for Sandy Bridge. * D2/0F is actually a combination rather than a separate counter, so just flip that on for the CPU types that support it.
There's an errata for using this on SB Xeon hardware - I've documented it in kern/181346.
Tested:
* Sandy Bridge * Sandy Bridge Xeon
Sponsored by: Netflix, Inc.
|
#
250103 |
|
30-Apr-2013 |
davide |
The Intel PMC architectural events have encodings which are identical to those of some non-architectural core events. This is not a problem in the general case as long as there's an 1:1 mapping between the two, but there are few exceptions. For example, 3CH_01H on Nehalem/Westmere represents both unhalted-reference-cycles and CPU_CLK_UNHALTED.REF_P. CPU_CLK_UNHALTED.REF_P on the aforementioned architectures does not measure reference (i.e. bus) but TSC, so there's the need to disambiguate. In order to avoid the namespace collision rename all the architectural events in a way they cannot be ambigous and refactor the architectural events handling function to reflect this change. While here, per Jim Harris request, rename iap_architectural_event_is_unsupported() to iap_event_is_architectural().
Discussed with: jimharris Reviewed by: jimharris, gnn
|
#
249069 |
|
03-Apr-2013 |
sbruno |
Trailing whitespace cleanup along with 80 column enforcemnt.
Submitted by: hiren.panchasara@gmail.com Reviewed by: sbruno@freebsd.org Obtained from: Yahoo! Inc. MFC after: 2 weeks
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
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
|
#
233333 |
|
23-Mar-2012 |
gonzo |
Add list of Octeon's PMC counters obtained from cvmx-core.h
|
#
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
|
#
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
|
#
229469 |
|
04-Jan-2012 |
fabient |
Add missing MSR programming for some events.
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
|
#
213409 |
|
04-Oct-2010 |
gnn |
Fix two aliases that had the same name but were pointing to different events. These are now disamiguated.
MFC after: 1 week
|
#
206684 |
|
15-Apr-2010 |
fabient |
- Fix a typo OFFCORE_REQUESTS.ANY.RFO is B0H10H and not 80H10H. - Enable missing PARTIAL_ADDRESS_ALIAS for Core i7.
MFC after: 3 days
|
#
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
|
#
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
|
#
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/...
|
#
197412 |
|
22-Sep-2009 |
rpaulo |
Reserve events for XScale.
Reviewed by: jkoshy, gnn MFC after: 1 week
|
#
196739 |
|
01-Sep-2009 |
gnn |
Add counters for the i7 architecture which were accidentally left out of the original commit of i7 support. These are all the counters on pages A-32 and A-33 of the _Intel(R) 64 and IA32 Architectures Software Developer's Manual Vol 3B_, June 2009. Almost all of these counters relate to operations on the L2 cache.
Reviewed by: jkoshy MFC after: 1 month
|
#
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
|
#
185582 |
|
03-Dec-2008 |
jkoshy |
Add aliases that map architectural event names to fixed function counters.
|
#
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
|
#
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.
|
#
183588 |
|
04-Oct-2008 |
jkoshy |
Fix a typo.
|
#
183535 |
|
02-Oct-2008 |
jkoshy |
Correct misspellings.
|
#
177161 |
|
14-Mar-2008 |
jkoshy |
Correct a typo.
|
#
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.
|