153548f91SRobert Mustacchi--------------------- 253548f91SRobert MustacchiThis package contains performance monitoring event lists for Intel processors, as well as a mapping file 353548f91SRobert Mustacchito help match event lists to processor Family/Model/Stepping codes. 453548f91SRobert Mustacchi--------------------- 553548f91SRobert Mustacchi 653548f91SRobert MustacchiThe event lists are available in 2 formats: 753548f91SRobert Mustacchi Tab delimited (.tsv) 853548f91SRobert Mustacchi Json (.json) 953548f91SRobert Mustacchi 1053548f91SRobert MustacchiEvent lists are created per microarchitecture, and each has a version. Versions are listed in the event list 1153548f91SRobert Mustacchiname as well as the header for each file. For some microarchitectures, up to three different event lists will 1253548f91SRobert Mustacchibe available. These event lists correspond to the types of events that can be collected: 1353548f91SRobert Mustacchi 1453548f91SRobert Mustacchicore - Contains events counted from within a logical processor core. 1553548f91SRobert Mustacchioffcore - Contains matrix events counted from the core, but measuring responses that come from offcore. 1653548f91SRobert Mustacchi 1753548f91SRobert MustacchiThe event list filename indicates which type of list it contains, and follows this format: 1853548f91SRobert Mustacchi<microarchitecture-codename>_<core/offcore>_<version> 1953548f91SRobert Mustacchi 2053548f91SRobert MustacchiNew version releases will be announced in the mail list perfmon-announce@lists.01.org 2153548f91SRobert Mustacchi 2253548f91SRobert MustacchiDifferent microarchitectures provide different performance monitoring capabilities, so field names and categories 2353548f91SRobert Mustacchiof events may vary. 2453548f91SRobert Mustacchi 2553548f91SRobert Mustacchi--------------------- 26*5fc40de0SRobert MustacchiLicensing Information 27*5fc40de0SRobert Mustacchi--------------------- 28*5fc40de0SRobert MustacchiThe following files are distributed under the terms of the 3-clause BSD license: 29*5fc40de0SRobert Mustacchi 30*5fc40de0SRobert Mustacchi- Mapfile.csv 31*5fc40de0SRobert Mustacchi- All .tsv files 32*5fc40de0SRobert Mustacchi- All .json files 33*5fc40de0SRobert Mustacchi 34*5fc40de0SRobert MustacchiCopyright (C) 2018 Intel Corporation 35*5fc40de0SRobert Mustacchi 36*5fc40de0SRobert MustacchiRedistribution and use in source and binary forms, with or without modification, 37*5fc40de0SRobert Mustacchiare permitted provided that the following conditions are met: 38*5fc40de0SRobert Mustacchi 39*5fc40de0SRobert Mustacchi1. Redistributions of source code must retain the above copyright notice, 40*5fc40de0SRobert Mustacchi this list of conditions and the following disclaimer. 41*5fc40de0SRobert Mustacchi2. Redistributions in binary form must reproduce the above copyright notice, 42*5fc40de0SRobert Mustacchi this list of conditions and the following disclaimer in the documentation 43*5fc40de0SRobert Mustacchi and/or other materials provided with the distribution. 44*5fc40de0SRobert Mustacchi3. Neither the name of the copyright holder nor the names of its contributors 45*5fc40de0SRobert Mustacchi may be used to endorse or promote products derived from this software 46*5fc40de0SRobert Mustacchi without specific prior written permission. 47*5fc40de0SRobert Mustacchi 48*5fc40de0SRobert MustacchiTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 49*5fc40de0SRobert MustacchiAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 50*5fc40de0SRobert MustacchiTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 51*5fc40de0SRobert MustacchiARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 52*5fc40de0SRobert MustacchiBE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 53*5fc40de0SRobert MustacchiOR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 54*5fc40de0SRobert MustacchiOF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 55*5fc40de0SRobert MustacchiOR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 56*5fc40de0SRobert MustacchiWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 57*5fc40de0SRobert MustacchiOR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 58*5fc40de0SRobert MustacchiEVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 59*5fc40de0SRobert Mustacchi 60*5fc40de0SRobert MustacchiSPDX-License-Identifier: BSD-3-Clause 61*5fc40de0SRobert Mustacchi 62*5fc40de0SRobert Mustacchi 63*5fc40de0SRobert MustacchiOther files in this package are ALL RIGHTS RESERVED. 64*5fc40de0SRobert Mustacchi 65*5fc40de0SRobert Mustacchi 66*5fc40de0SRobert Mustacchi--------------------- 6753548f91SRobert MustacchiEvent List Field Defitions: 6853548f91SRobert Mustacchi--------------------- 6953548f91SRobert MustacchiBelow is a list of the fields/headers in the event files and a description of how SW tools should 7053548f91SRobert Mustacchiinterpret these values. A particular event list from this package may not contain all the fields described 7153548f91SRobert Mustacchibelow. For more detailed information of the Performance monitoring unit please refer to chapters 18 and 19 7253548f91SRobert Mustacchiof Intel� 64 and IA-32 Architectures Software Developer's Manual Volume 3B: System Programming Guide, Part 2. 7353548f91SRobert Mustacchi 7453548f91SRobert Mustacchihttp://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html 7553548f91SRobert Mustacchi 7653548f91SRobert Mustacchi 7753548f91SRobert Mustacchi----EventCode---- 7853548f91SRobert MustacchiThis field maps to the Event Select field in the IA32_PERFEVTSELx[7:0]MSRs. The set of values for this field 7953548f91SRobert Mustacchiis defined architecturally. Each value corresponds to an event logic unit and should be used with a unit 8053548f91SRobert Mustacchimask value to obtain an architectural performance event. 8153548f91SRobert Mustacchi 8253548f91SRobert Mustacchi----UMask---- 8353548f91SRobert MustacchiThis field maps to the Unit Mask filed in the IA32_PERFEVTSELx[15:8] MSRs. It further qualifies the event logic 8453548f91SRobert Mustacchiunit selected in the event select field to detect a specific micro-architectural condition. 8553548f91SRobert Mustacchi 8653548f91SRobert Mustacchi----EventName---- 8753548f91SRobert MustacchiIt is a string of characters to identify the programming of an event. 8853548f91SRobert Mustacchi 8953548f91SRobert Mustacchi----BriefDescription---- 9053548f91SRobert MustacchiThis field contains a description of what is being counted by a particular event. 9153548f91SRobert Mustacchi 9253548f91SRobert Mustacchi----PublicDescription---- 9353548f91SRobert MustacchiIn some cases, this field will contain a more detailed description of what is counted by an event. 9453548f91SRobert Mustacchi 9553548f91SRobert Mustacchi----Counter---- 9653548f91SRobert MustacchiThis field lists the fixed (PERF_FIXED_CTRX) or programmable (IA32_PMCX) counters that can be used to count the event. 9753548f91SRobert Mustacchi 9853548f91SRobert Mustacchi----CounterHTOff---- 9953548f91SRobert MustacchiThis field lists the counters where this event can be sampled when Intel� Hyper-Threading Technology (Intel� HT Technology) is 10053548f91SRobert Mustacchidisabled. When Intel� HT Technology is disabled, some processor cores gain access to the programmable counters of the second 10153548f91SRobert Mustacchithread, making a total of eight programmable counters available. The additional counters will be numbered 4,5,6,7. Fixed counter 10253548f91SRobert Mustacchibehavior remains unaffected. 10353548f91SRobert Mustacchi 10453548f91SRobert Mustacchi----PEBScounters---- 10553548f91SRobert MustacchiThis field is only relevant to PEBS events. It lists the counters where the event can be sampled when it is programmed as a PEBS event. 10653548f91SRobert Mustacchi 10753548f91SRobert Mustacchi----SampleAfterValue---- 10853548f91SRobert MustacchiSample After Value (SAV) is the value that can be pre-loaded into the counter registers to set the point at which they will overflow. 10953548f91SRobert MustacchiTo make the counter overflow after N occurrences of the event, it should be loaded with (0xFF..FF � N) or �(N-1). On overflow a 11053548f91SRobert Mustacchihardware interrupt is generated through the Local APIC and additional architectural state can be collected in the interrupt handler. 11153548f91SRobert MustacchiThis is useful in event-based sampling. This field gives a recommended default overflow value, which may be adjusted based on 11253548f91SRobert Mustacchiworkload or tool preference. 11353548f91SRobert Mustacchi 11453548f91SRobert Mustacchi----MSRIndex---- 11553548f91SRobert MustacchiAdditional MSRs may be required for programming certain events. This field gives the address of such MSRS. 11653548f91SRobert MustacchiPotential values are: 11753548f91SRobert Mustacchi0x3F6: MSR_PEBS_LD_LAT - used to configure the Load Latency Perforamnce Monitoring Facility 11853548f91SRobert Mustacchi0x1A6/0x1A7: MSR_OFFCORE_RSP_X - used to configure the offcore response events 11953548f91SRobert Mustacchi 12053548f91SRobert Mustacchi----MSRValue---- 12153548f91SRobert MustacchiWhen an MSRIndex is used (indicated by the MSRIndex column), this field will contain the value that needs to be loaded into the 12253548f91SRobert Mustacchiregister whose address is given in MSRIndex column. For example, in the case of the load latency events, MSRValue defines the 12353548f91SRobert Mustacchilatency threshold value to write into the MSR defined in MSRIndex (0x3F6). 12453548f91SRobert Mustacchi 12553548f91SRobert Mustacchi----CollectPEBSRecord---- 12653548f91SRobert MustacchiApplies to processors that support both precise and non-precise events in Processor Event Based Sampling, such as Goldmont. 12753548f91SRobert Mustacchi0: The event cannot be programmed to collect a PEBS record. 12853548f91SRobert Mustacchi1: The event may be programmed to collect a PEBS record, but caution is advised. 12953548f91SRobert MustacchiFor instance, PEBS collection of this event may consume limited PEBS resources whereas interrupt-based sampling may be sufficient for the usage model. 13053548f91SRobert Mustacchi2: The event may programmed to collect a PEBS record, and due to the nature of the event, PEBS collection may be preferred. For instance, 13153548f91SRobert MustacchiPEBS collection of Goldmont�s HW_INTERUPTS.RECIEVED event is recommended because the hardware interrupt being counted may lead to the masking of 13253548f91SRobert Mustacchiinterrupts which would interfere with interrupt-based sampling. 13353548f91SRobert Mustacchi 13453548f91SRobert Mustacchi 13553548f91SRobert Mustacchi ----TakenAlone---- 13653548f91SRobert MustacchiThis field is set for an event which can only be sampled or counted by itself, meaning that when this event is being collected, 13753548f91SRobert Mustacchithe remaining programmable counters are not available to count any other events. 13853548f91SRobert Mustacchi 13953548f91SRobert Mustacchi----CounterMask---- 14053548f91SRobert MustacchiThis field maps to the Counter Mask (CMASK) field in IA32_PERFEVTSELx[31:24] MSR. 14153548f91SRobert Mustacchi 14253548f91SRobert Mustacchi----Invert---- 14353548f91SRobert MustacchiThis field corresponds to the Invert Counter Mask (INV) field in IA32_PERFEVTSELx[23] MSR. 14453548f91SRobert Mustacchi 14553548f91SRobert Mustacchi----AnyThread---- 14653548f91SRobert MustacchiThis field corresponds to the Any Thread (ANY) bit of IA32_PERFEVTSELx[21] MSR. 14753548f91SRobert Mustacchi 14853548f91SRobert Mustacchi----EdgeDetect---- 14953548f91SRobert MustacchiThis field corresponds to the Edge Detect (E) bit of IA32_PERFEVTSELx[18] MSR. 15053548f91SRobert Mustacchi 15153548f91SRobert Mustacchi----PEBS---- 15253548f91SRobert MustacchiA '0' in this field means that the event cannot collect a PEBS record with a Precise IP. A '1' in this field means that the event is a 15353548f91SRobert Mustacchiprecise event and can be programmed in one of two ways � as a regular event or as a PEBS event. And a '2' in this field means 15453548f91SRobert Mustacchithat the event can only be programmed as a PEBS event. 15553548f91SRobert Mustacchi 15653548f91SRobert Mustacchi----PRECISE_STORE---- 15753548f91SRobert MustacchiA '1' in this field means the event uses the Precise Store feature and Bit 3 and bit 63 in IA32_PEBS_ENABLE MSR must be set 15853548f91SRobert Mustacchito enable IA32_PMC3 as a PEBS counter and enable the precise store facility respectively. Processors based on SandyBridge and 15953548f91SRobert MustacchiIvyBridge micro-architecture offer a precise store capability that provides a means to profile store memory references in 16053548f91SRobert Mustacchithe system. 16153548f91SRobert Mustacchi 16253548f91SRobert Mustacchi----DATA_LA---- 16353548f91SRobert MustacchiA '1' in this field means that when the event is configured as a PEBS event, the Data Linear Address facility is supported. 16453548f91SRobert MustacchiThe Data Linear Address facility is a new feature added to Haswell as a replacement or extension of the precise store facility 16553548f91SRobert Mustacchiin SNB. 16653548f91SRobert Mustacchi 16753548f91SRobert Mustacchi----L1_HIT_INDICATION---- 16853548f91SRobert MustacchiA '1' in this field means that when the event is configured as a PEBS event, the DCU hit field of the PEBS record is set to 1 16953548f91SRobert Mustacchiwhen the store hits in the L1 cache and 0 when it misses. 17053548f91SRobert Mustacchi 17153548f91SRobert Mustacchi----Errata---- 17253548f91SRobert MustacchiThis field lists the known bugs that apply to the events. For the latest, up to date errata refer to 17353548f91SRobert Mustacchi 17453548f91SRobert MustacchiHaswell: 17553548f91SRobert Mustacchihttp://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/4th-gen-core-family-mobile-specification-update.pdf 17653548f91SRobert Mustacchi 17753548f91SRobert MustacchiIvyBridge: 17853548f91SRobert Mustacchihttps://www-ssl.intel.com/content/dam/www/public/us/en/documents/specification-updates/3rd-gen-core-desktop-specification-update.pdf 17953548f91SRobert Mustacchi 18053548f91SRobert MustacchiSandyBridge: 18153548f91SRobert Mustacchihttps://www-ssl.intel.com/content/dam/www/public/us/en/documents/specification-updates/2nd-gen-core-family-mobile-specification-update.pdf 18253548f91SRobert Mustacchi 18353548f91SRobert Mustacchi----offcore---- 18453548f91SRobert MustacchiThis field is specific to the json format. There is only 1 file for core and offcore events in this format. This field is set to 1 for offcore events 18553548f91SRobert Mustacchiand 0 for core events. 18653548f91SRobert Mustacchi 18753548f91SRobert Mustacchi--------------------- 18853548f91SRobert MustacchiFor additional information: 18953548f91SRobert Mustacchi--------------------- 19053548f91SRobert MustacchiIntel Platform Monitoring Homepage 19153548f91SRobert Mustacchihttp://software.intel.com/en-us/platform-monitoring/ 19253548f91SRobert Mustacchi 19353548f91SRobert Mustacchihttp://software.intel.com/en-us/articles/performance-monitoring-on-intel-xeon-processor-e5-family 19453548f91SRobert Mustacchi 19553548f91SRobert Mustacchihttp://software.intel.com/en-us/articles/monitoring-integrated-memory-controller-requests-in-the-2nd-3rd-and-4th-generation-intel 19653548f91SRobert Mustacchi 19753548f91SRobert Mustacchihttp://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/4th-gen-core-family-desktop-specification-update.pdf 19853548f91SRobert Mustacchi 19953548f91SRobert Mustacchi--------------------- 20053548f91SRobert MustacchiFor questions: 20153548f91SRobert Mustacchi--------------------- 20253548f91SRobert Mustacchiemail perfmon-discuss@lists.01.org 20353548f91SRobert Mustacchi 20453548f91SRobert Mustacchi--------------------- 20553548f91SRobert MustacchiNotices: 20653548f91SRobert Mustacchi--------------------- 20753548f91SRobert MustacchiINFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, 20853548f91SRobert MustacchiTO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH 20953548f91SRobert MustacchiPRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF 21053548f91SRobert MustacchiINTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY 21153548f91SRobert MustacchiPATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. 21253548f91SRobert Mustacchi 21353548f91SRobert MustacchiA "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in 21453548f91SRobert Mustacchipersonal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY 21553548f91SRobert MustacchiAND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST 21653548f91SRobert MustacchiALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT 21753548f91SRobert MustacchiLIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR 21853548f91SRobert MustacchiWAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS. 21953548f91SRobert Mustacchi 22053548f91SRobert MustacchiIntel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or 22153548f91SRobert Mustacchicharacteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future definition and shall have 22253548f91SRobert Mustacchino responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to 22353548f91SRobert Mustacchichange without notice. Do not finalize a design with this information. 22453548f91SRobert Mustacchi 22553548f91SRobert MustacchiThe products described in this document may contain design defects or errors known as errata which may cause the product to deviate from 22653548f91SRobert Mustacchipublished specifications. Current characterized errata are available on request. 22753548f91SRobert Mustacchi 22853548f91SRobert MustacchiContact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. 22953548f91SRobert Mustacchi 23053548f91SRobert MustacchiCopies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 23153548f91SRobert Mustacchi1-800-548-4725, or go to: http://www.intel.com/design/literature.htm 23253548f91SRobert Mustacchi 23353548f91SRobert MustacchiCopyright � 2014 Intel Corporation. All rights reserved. 234