|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* Copyright (c) 2014 Google Inc. All rights reserved
|
|
Packit Service |
a1973e |
* Contributed by Stephane Eranian <eranian@gmail.com>
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
Packit Service |
a1973e |
* of this software and associated documentation files (the "Software"), to deal
|
|
Packit Service |
a1973e |
* in the Software without restriction, including without limitation the rights
|
|
Packit Service |
a1973e |
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
Packit Service |
a1973e |
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
Packit Service |
a1973e |
* subject to the following conditions:
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* The above copyright notice and this permission notice shall be included in all
|
|
Packit Service |
a1973e |
* copies or substantial portions of the Software.
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
Packit Service |
a1973e |
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
Packit Service |
a1973e |
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
Packit Service |
a1973e |
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
Packit Service |
a1973e |
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
|
|
Packit Service |
a1973e |
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* This file is part of libpfm, a performance monitoring support library for
|
|
Packit Service |
a1973e |
* applications on Linux.
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* PMU: hswep_unc_ha (Intel Haswell-EP HA uncore PMU)
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_directory_lookup[]={
|
|
Packit Service |
a1973e |
{ .uname = "NO_SNP",
|
|
Packit Service |
a1973e |
.udesc = "Snoop not needed",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SNOOP",
|
|
Packit Service |
a1973e |
.udesc = "SNooop needed",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_bypass_imc[]={
|
|
Packit Service |
a1973e |
{ .uname = "TAKEN",
|
|
Packit Service |
a1973e |
.udesc = "Bypass taken",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NOT_TAKEN",
|
|
Packit Service |
a1973e |
.udesc = "Bypass not taken",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_directory_update[]={
|
|
Packit Service |
a1973e |
{ .uname = "ANY",
|
|
Packit Service |
a1973e |
.udesc = "Counts any directory update",
|
|
Packit Service |
a1973e |
.ucode = 0x300,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CLEAR",
|
|
Packit Service |
a1973e |
.udesc = "Directory clears",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SET",
|
|
Packit Service |
a1973e |
.udesc = "Directory set",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_hitme_hit[]={
|
|
Packit Service |
a1973e |
{ .uname = "ALL",
|
|
Packit Service |
a1973e |
.udesc = "All requests",
|
|
Packit Service |
a1973e |
.ucode = 0xff00,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "READ_OR_INVITOE",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode RdCode, RdData, RdDataMigratory, RdInvOwn, RdCur or InvToE",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "WBMTOI",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode WbToMtoI",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ACKCNFLTWBI",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode AckCnfltWbI",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "WBMTOE_OR_S",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode WbMtoE or WbMtoS",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "HOM",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with HOM requests",
|
|
Packit Service |
a1973e |
.ucode = 0xf00,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPFWDI_REMOTE",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode RspIFwd, RspIFwdWb for remore requests",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPFWDI_LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode RspIFwd, RspIFwdWb for local requests",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "INVALS",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits for invalidations",
|
|
Packit Service |
a1973e |
.ucode = 0x2600,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPFWDS",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode RsSFwd, RspSFwdWb",
|
|
Packit Service |
a1973e |
.ucode = 0x4000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "EVICTS",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits for allocations",
|
|
Packit Service |
a1973e |
.ucode = 0x4200,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ALLOCS",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits for allocations",
|
|
Packit Service |
a1973e |
.ucode = 0x7000,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSP",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode RspI, RspIWb, RspSWb, RspCnflt, RspCnfltWbI",
|
|
Packit Service |
a1973e |
.ucode = 0x8000,
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_hitme_hit_pv_bits_set[]={
|
|
Packit Service |
a1973e |
{ .uname = "ALL",
|
|
Packit Service |
a1973e |
.udesc = "All requests",
|
|
Packit Service |
a1973e |
.ucode = 0xff00,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "READ_OR_INVITOE",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode RdCode, RdData, RdDataMigratory, RdInvOwn, RdCur or InvToE",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "WBMTOI",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode WbToMtoI",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ACKCNFLTWBI",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode AckCnfltWbI",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "WBMTOE_OR_S",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode WbMtoE or WbMtoS",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "HOM",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with HOM requests",
|
|
Packit Service |
a1973e |
.ucode = 0xf00,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPFWDI_REMOTE",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode RspIFwd, RspIFwdWb for remore requests",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPFWDI_LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode RspIFwd, RspIFwdWb for local requests",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPFWDS",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode RsSFwd, RspSFwdWb",
|
|
Packit Service |
a1973e |
.ucode = 0x4000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSP",
|
|
Packit Service |
a1973e |
.udesc = "Number of hits with opcode RspI, RspIWb, RspSWb, RspCnflt, RspCnfltWbI",
|
|
Packit Service |
a1973e |
.ucode = 0x8000,
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_igr_no_credit_cycles[]={
|
|
Packit Service |
a1973e |
{ .uname = "AD_QPI0",
|
|
Packit Service |
a1973e |
.udesc = "AD to QPI link 0",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "AD_QPI1",
|
|
Packit Service |
a1973e |
.udesc = "AD to QPI link 1",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "BL_QPI0",
|
|
Packit Service |
a1973e |
.udesc = "BL to QPI link 0",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "BL_QPI1",
|
|
Packit Service |
a1973e |
.udesc = "BL to QPI link 1",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "AD_QPI2",
|
|
Packit Service |
a1973e |
.udesc = "AD to QPI link 2",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "BL_QPI2",
|
|
Packit Service |
a1973e |
.udesc = "BL to QPI link 2",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_imc_writes[]={
|
|
Packit Service |
a1973e |
{ .uname = "ALL",
|
|
Packit Service |
a1973e |
.udesc = "Counts all writes",
|
|
Packit Service |
a1973e |
.ucode = 0xf00,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "FULL",
|
|
Packit Service |
a1973e |
.udesc = "Counts full line non ISOCH",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "PARTIAL",
|
|
Packit Service |
a1973e |
.udesc = "Counts partial non-ISOCH",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "FULL_ISOCH",
|
|
Packit Service |
a1973e |
.udesc = "Counts ISOCH full line",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "PARTIAL_ISOCH",
|
|
Packit Service |
a1973e |
.udesc = "Counts ISOCH partial",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_imc_reads[]={
|
|
Packit Service |
a1973e |
{ .uname = "NORMAL",
|
|
Packit Service |
a1973e |
.udesc = "Normal priority",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_requests[]={
|
|
Packit Service |
a1973e |
{ .uname = "READS",
|
|
Packit Service |
a1973e |
.udesc = "Counts incoming read requests. Good proxy for LLC read misses, incl. RFOs",
|
|
Packit Service |
a1973e |
.ucode = 0x300,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "READS_LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Counts incoming read requests coming from local socket. Good proxy for LLC read misses, incl. RFOs from the local socket",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "READS_REMOTE",
|
|
Packit Service |
a1973e |
.udesc = "Counts incoming read requests coming from remote socket. Good proxy for LLC read misses, incl. RFOs from the remote socket",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "WRITES",
|
|
Packit Service |
a1973e |
.udesc = "Counts incoming writes",
|
|
Packit Service |
a1973e |
.ucode = 0xc00,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "WRITES_LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Counts incoming writes from local socket",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "WRITES_REMOTE",
|
|
Packit Service |
a1973e |
.udesc = "Counts incoming writes from remote socket",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "INVITOE_LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Counts InvItoE coming from local socket",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "INVITOE_REMOTE",
|
|
Packit Service |
a1973e |
.udesc = "Counts InvItoE coming from remote socket",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_rpq_cycles_no_reg_credits[]={
|
|
Packit Service |
a1973e |
{ .uname = "CHN0",
|
|
Packit Service |
a1973e |
.udesc = "Channel 0",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CHN1",
|
|
Packit Service |
a1973e |
.udesc = "Channel 1",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CHN2",
|
|
Packit Service |
a1973e |
.udesc = "channel 2",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CHN3",
|
|
Packit Service |
a1973e |
.udesc = "Chanel 3",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_tad_requests_g0[]={
|
|
Packit Service |
a1973e |
{ .uname = "REGION0",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 0",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REGION1",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 1",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REGION2",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 2",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REGION3",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 3",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REGION4",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 4",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REGION5",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 5",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REGION6",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 6",
|
|
Packit Service |
a1973e |
.ucode = 0x4000,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REGION7",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 7",
|
|
Packit Service |
a1973e |
.ucode = 0x8000,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_tad_requests_g1[]={
|
|
Packit Service |
a1973e |
{ .uname = "REGION8",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 8",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REGION9",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 9",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REGION10",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 10",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REGION11",
|
|
Packit Service |
a1973e |
.udesc = "Counts for TAD Region 11",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_snoop_resp[]={
|
|
Packit Service |
a1973e |
{ .uname = "RSPI",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspI. RspI is returned when the remote cache does not have the data or when the remote cache silently evicts data (e.g. RFO hit non-modified line)",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPS",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspS. RspS is returned when the remote cache has the data but is not forwarding it. It is a way to let the requesting socket know that it cannot allocate the data in E-state",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPIFWD",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspIFwd. RspIFwd is returned when the remote cache agent forwards data and the requesting agent is able to acquire the data in E or M state. This is commonly returned with RFO transacations. It can be either HitM or HitFE",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPSFWD",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspSFwd. RspSFwd is returned when the remote cache agent forwards data but holds on to its current copy. This is common for data and code reads that hit in a remote socket in E or F state",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSP_WB",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspIWB or RspSWB. This is returned when a non-RFO requests hits in M-state. Data and code reads can return either RspIWB or RspSWB depending on how the system has been configured. InvItoE transactions will also return RspIWB because they must acquire ownership",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSP_FWD_WB",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspxFwdxWB. This snoop response is only used in 4s systems. It is used when a snoop HITM in a remote caching agent and it directly forwards data to a requester and simultaneously returns data to the home to be written back to memory",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPCNFLCT",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspConflict. This is returned when a snoop finds an existing outstanding transaction in a remote caching agent when it CMAs that caching agent. This triggers the conflict resolution hardware. This covers both RspConflct and RspCnflctWBI",
|
|
Packit Service |
a1973e |
.ucode = 0x4000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_txr_ad_cycles_full[]={
|
|
Packit Service |
a1973e |
{ .uname = "ALL",
|
|
Packit Service |
a1973e |
.udesc = "Counts cycles full from both schedulers",
|
|
Packit Service |
a1973e |
.ucode = 0x300,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SCHED0",
|
|
Packit Service |
a1973e |
.udesc = "Counts cycles full from scheduler bank 0",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SCHED1",
|
|
Packit Service |
a1973e |
.udesc = "Counts cycles full from scheduler bank 1",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_txr_bl_occupancy[]={
|
|
Packit Service |
a1973e |
{ .uname = "SCHED0",
|
|
Packit Service |
a1973e |
.udesc = "Counts cycles full from scheduler bank 0",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SCHED1",
|
|
Packit Service |
a1973e |
.udesc = "Counts cycles full from scheduler bank 1",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_txr_ak_cycles_full[]={
|
|
Packit Service |
a1973e |
{ .uname = "ALL",
|
|
Packit Service |
a1973e |
.udesc = "Counts cycles from both schedulers",
|
|
Packit Service |
a1973e |
.ucode = 0x300,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SCHED0",
|
|
Packit Service |
a1973e |
.udesc = "Counts cycles from scheduler bank 0",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SCHED1",
|
|
Packit Service |
a1973e |
.udesc = "Counts cycles from scheduler bank 1",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_txr_bl[]={
|
|
Packit Service |
a1973e |
{ .uname = "DRS_CACHE",
|
|
Packit Service |
a1973e |
.udesc = "Counts data being sent to the cache",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DRS_CORE",
|
|
Packit Service |
a1973e |
.udesc = "Counts data being sent directly to the requesting core",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DRS_QPI",
|
|
Packit Service |
a1973e |
.udesc = "Counts data being sent to a remote socket over QPI",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_osb[]={
|
|
Packit Service |
a1973e |
{ .uname = "REMOTE",
|
|
Packit Service |
a1973e |
.udesc = "Remote",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "READS_LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Local reads",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "INVITOE_LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Local InvItoE",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CANCELLED",
|
|
Packit Service |
a1973e |
.udesc = "Cancelled due to D2C or Other",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "READS_LOCAL_USEFUL",
|
|
Packit Service |
a1973e |
.udesc = "Local reads - useful",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REMOTE_USEFUL",
|
|
Packit Service |
a1973e |
.udesc = "Remote - useful",
|
|
Packit Service |
a1973e |
.ucode = 0x4000,
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_osb_edr[]={
|
|
Packit Service |
a1973e |
{ .uname = "ALL",
|
|
Packit Service |
a1973e |
.udesc = "All data returns",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_DFL | INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "READS_LOCAL_I",
|
|
Packit Service |
a1973e |
.udesc = "Reads to local I",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "READS_REMOTE_I",
|
|
Packit Service |
a1973e |
.udesc = "Reads to remote I",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "READS_LOCAL_S",
|
|
Packit Service |
a1973e |
.udesc = "Reads to local S",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "READS_REMOTE_S",
|
|
Packit Service |
a1973e |
.udesc = "Reads to remote S",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_ring_ad_used[]={
|
|
Packit Service |
a1973e |
{ .uname = "CCW_EVEN",
|
|
Packit Service |
a1973e |
.udesc = "Counter-clockwise and even ring polarity",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CCW_ODD",
|
|
Packit Service |
a1973e |
.udesc = "Counter-clockwise and odd ring polarity",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CW_EVEN",
|
|
Packit Service |
a1973e |
.udesc = "Clockwise and even ring polarity",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CW_ODD",
|
|
Packit Service |
a1973e |
.udesc = "Clockwise and odd ring polarity",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CW",
|
|
Packit Service |
a1973e |
.udesc = "Clockwise with any polarity",
|
|
Packit Service |
a1973e |
.ucode = 0x3300,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CCW",
|
|
Packit Service |
a1973e |
.udesc = "Counter-clockwise with any polarity",
|
|
Packit Service |
a1973e |
.ucode = 0xcc00,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_snp_resp_recv_local[]={
|
|
Packit Service |
a1973e |
{ .uname = "RSPI",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspI. RspI is returned when the remote cache does not have the data or when the remote cache silently evicts data (e.g. RFO hit non-modified line)",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPS",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspS. RspS is returned when the remote cache has the data but is not forwarding it. It is a way to let the requesting socket know that it cannot allocate the data in E-state",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPIFWD",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspIFwd. RspIFwd is returned when the remote cache agent forwards data and the requesting agent is able to acquire the data in E or M state. This is commonly returned with RFO transacations. It can be either HitM or HitFE",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPSFWD",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspSFwd. RspSFwd is returned when the remote cache agent forwards data but holds on to its current copy. This is common for data and code reads that hit in a remote socket in E or F state",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSP_WB",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspIWB or RspSWB. This is returned when a non-RFO requests hits in M-state. Data and code reads can return either RspIWB or RspSWB depending on how the system has been configured. InvItoE transactions will also return RspIWB because they must acquire ownership",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSP_FWD_WB",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspxFwdxWB. This snoop response is only used in 4s systems. It is used when a snoop HITM in a remote caching agent and it directly forwards data to a requester and simultaneously returns data to the home to be written back to memory",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RSPCNFLCT",
|
|
Packit Service |
a1973e |
.udesc = "Filters for snoop responses of RspConflict. This is returned when a snoop finds an existing outstanding transaction in a remote caching agent when it CMAs that caching agent. This triggers the conflict resolution hardware. This covers both RspConflct and RspCnflctWBI",
|
|
Packit Service |
a1973e |
.ucode = 0x4000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "OTHER",
|
|
Packit Service |
a1973e |
.udesc = "Filters all other snoop responses",
|
|
Packit Service |
a1973e |
.ucode = 0x8000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_sbo0_credits_acquired[]={
|
|
Packit Service |
a1973e |
{ .uname = "AD",
|
|
Packit Service |
a1973e |
.udesc = "For AD ring",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "BL",
|
|
Packit Service |
a1973e |
.udesc = "For BL ring",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_snoops_rsp_after_data[]={
|
|
Packit Service |
a1973e |
{ .uname = "LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Local",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REMOTE",
|
|
Packit Service |
a1973e |
.udesc = "Remote",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_snoops_cycles_ne[]={
|
|
Packit Service |
a1973e |
{ .uname = "ALL",
|
|
Packit Service |
a1973e |
.udesc = "Local",
|
|
Packit Service |
a1973e |
.ucode = 0x300,
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Local",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "REMOTE",
|
|
Packit Service |
a1973e |
.udesc = "Remote",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_txr_ak[]={
|
|
Packit Service |
a1973e |
{ .uname = "NDR",
|
|
Packit Service |
a1973e |
.udesc = "Number of outbound NDR (non-data response) transactions send on the AK ring. AK NDR is used for messages to the local socket",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CRD_CBO",
|
|
Packit Service |
a1973e |
.udesc = "Number of outbound CDR transactions send on the AK ring to CBO",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CRD_QPI",
|
|
Packit Service |
a1973e |
.udesc = "Number of outbound CDR transactions send on the AK ring to QPI",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_stall_no_sbo_credit[]={
|
|
Packit Service |
a1973e |
{ .uname = "SBO0_AD",
|
|
Packit Service |
a1973e |
.udesc = "No credit for SBO0 AD Ring",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SBO1_AD",
|
|
Packit Service |
a1973e |
.udesc = "No credit for SBO1 AD Ring",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SBO0_BL",
|
|
Packit Service |
a1973e |
.udesc = "No credit for SBO0 BL Ring",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SBO1_BL",
|
|
Packit Service |
a1973e |
.udesc = "No credit for SBO1 BL Ring",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_tracker_occupancy[]={
|
|
Packit Service |
a1973e |
{ .uname = "READS_LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Local read requests",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "READS_REMOTE",
|
|
Packit Service |
a1973e |
.udesc = "Remote read requests",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "WRITES_LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Local write requests",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "WRITES_REMOTE",
|
|
Packit Service |
a1973e |
.udesc = "Remote write requests",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "INVITOE_LOCAL",
|
|
Packit Service |
a1973e |
.udesc = "Local InvItoE requests",
|
|
Packit Service |
a1973e |
.ucode = 0x4000,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "INVITOE_REMOTE",
|
|
Packit Service |
a1973e |
.udesc = "Remote InvItoE requests",
|
|
Packit Service |
a1973e |
.ucode = 0x8000,
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_umask_t hswep_unc_h_txr_starved[]={
|
|
Packit Service |
a1973e |
{ .uname = "AK",
|
|
Packit Service |
a1973e |
.udesc = "For AD ring",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "BL",
|
|
Packit Service |
a1973e |
.udesc = "For BL ring",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const intel_x86_entry_t intel_hswep_unc_h_pe[]={
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_CLOCKTICKS",
|
|
Packit Service |
a1973e |
.desc = "HA Uncore clockticks",
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.code = 0x00,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_CONFLICT_CYCLES",
|
|
Packit Service |
a1973e |
.desc = "Conflict Checks",
|
|
Packit Service |
a1973e |
.code = 0xb,
|
|
Packit Service |
a1973e |
.cntmsk = 0x2,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_DIRECT2CORE_COUNT",
|
|
Packit Service |
a1973e |
.desc = "Direct2Core Messages Sent",
|
|
Packit Service |
a1973e |
.code = 0x11,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_DIRECT2CORE_CYCLES_DISABLED",
|
|
Packit Service |
a1973e |
.desc = "Cycles when Direct2Core was Disabled",
|
|
Packit Service |
a1973e |
.code = 0x12,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_DIRECT2CORE_TXN_OVERRIDE",
|
|
Packit Service |
a1973e |
.desc = "Number of Reads that had Direct2Core Overridden",
|
|
Packit Service |
a1973e |
.code = 0x13,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_DIRECTORY_LOOKUP",
|
|
Packit Service |
a1973e |
.desc = "Directory Lookups",
|
|
Packit Service |
a1973e |
.code = 0xc,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_directory_lookup),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_directory_lookup
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_DIRECTORY_UPDATE",
|
|
Packit Service |
a1973e |
.desc = "Directory Updates",
|
|
Packit Service |
a1973e |
.code = 0xd,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_directory_update),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_directory_update
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_IGR_NO_CREDIT_CYCLES",
|
|
Packit Service |
a1973e |
.desc = "Cycles without QPI Ingress Credits",
|
|
Packit Service |
a1973e |
.code = 0x22,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_igr_no_credit_cycles),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_igr_no_credit_cycles
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_IMC_RETRY",
|
|
Packit Service |
a1973e |
.desc = "Retry Events",
|
|
Packit Service |
a1973e |
.code = 0x1e,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_IMC_WRITES",
|
|
Packit Service |
a1973e |
.desc = "HA to IMC Full Line Writes Issued",
|
|
Packit Service |
a1973e |
.code = 0x1a,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_imc_writes),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_imc_writes
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_IMC_READS",
|
|
Packit Service |
a1973e |
.desc = "HA to IMC normal priority reads issued",
|
|
Packit Service |
a1973e |
.code = 0x17,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_imc_reads),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_imc_reads
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_REQUESTS",
|
|
Packit Service |
a1973e |
.desc = "Read and Write Requests",
|
|
Packit Service |
a1973e |
.code = 0x1,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_requests),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_requests
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_RPQ_CYCLES_NO_REG_CREDITS",
|
|
Packit Service |
a1973e |
.desc = "IMC RPQ Credits Empty",
|
|
Packit Service |
a1973e |
.code = 0x15,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_rpq_cycles_no_reg_credits),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_rpq_cycles_no_reg_credits
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TAD_REQUESTS_G0",
|
|
Packit Service |
a1973e |
.desc = "HA Requests to a TAD Region",
|
|
Packit Service |
a1973e |
.code = 0x1b,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_tad_requests_g0),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_tad_requests_g0
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TAD_REQUESTS_G1",
|
|
Packit Service |
a1973e |
.desc = "HA Requests to a TAD Region",
|
|
Packit Service |
a1973e |
.code = 0x1c,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_tad_requests_g1),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_tad_requests_g1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TXR_AD_CYCLES_FULL",
|
|
Packit Service |
a1973e |
.desc = "AD Egress Full",
|
|
Packit Service |
a1973e |
.code = 0x2a,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_txr_ad_cycles_full),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_txr_ad_cycles_full
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TXR_AK_CYCLES_FULL",
|
|
Packit Service |
a1973e |
.desc = "AK Egress Full",
|
|
Packit Service |
a1973e |
.code = 0x32,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_txr_ak_cycles_full),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_txr_ak_cycles_full
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TXR_AK",
|
|
Packit Service |
a1973e |
.desc = "Outbound Ring Transactions on AK",
|
|
Packit Service |
a1973e |
.code = 0xe,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_txr_ak),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_txr_ak
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TXR_BL",
|
|
Packit Service |
a1973e |
.desc = "Outbound DRS Ring Transactions to Cache",
|
|
Packit Service |
a1973e |
.code = 0x10,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_txr_bl),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_txr_bl
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TXR_BL_CYCLES_FULL",
|
|
Packit Service |
a1973e |
.desc = "BL Egress Full",
|
|
Packit Service |
a1973e |
.code = 0x36,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_txr_ak_cycles_full),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_txr_ak_cycles_full, /* identical to snbep_unc_h_txr_ak_cycles_full */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_WPQ_CYCLES_NO_REG_CREDITS",
|
|
Packit Service |
a1973e |
.desc = "HA IMC CHN0 WPQ Credits Empty",
|
|
Packit Service |
a1973e |
.code = 0x18,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_rpq_cycles_no_reg_credits),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_rpq_cycles_no_reg_credits, /* shared */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_BT_BYPASS",
|
|
Packit Service |
a1973e |
.desc = "Backup Tracker bypass",
|
|
Packit Service |
a1973e |
.code = 0x52,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_BYPASS_IMC",
|
|
Packit Service |
a1973e |
.desc = "HA to IMC bypass",
|
|
Packit Service |
a1973e |
.code = 0x14,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_bypass_imc),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_bypass_imc,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_BT_CYCLES_NE",
|
|
Packit Service |
a1973e |
.desc = "Backup Tracker cycles not empty",
|
|
Packit Service |
a1973e |
.code = 0x42,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_BT_OCCUPANCY",
|
|
Packit Service |
a1973e |
.desc = "Backup Tracker inserts",
|
|
Packit Service |
a1973e |
.code = 0x43,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_OSB",
|
|
Packit Service |
a1973e |
.desc = "OSB snoop broadcast",
|
|
Packit Service |
a1973e |
.code = 0x53,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_osb),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_osb,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_OSB_EDR",
|
|
Packit Service |
a1973e |
.desc = "OSB early data return",
|
|
Packit Service |
a1973e |
.code = 0x54,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_osb_edr),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_osb_edr,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_RING_AD_USED",
|
|
Packit Service |
a1973e |
.desc = "AD ring in use",
|
|
Packit Service |
a1973e |
.code = 0x3e,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_ring_ad_used),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_ring_ad_used,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_RING_AK_USED",
|
|
Packit Service |
a1973e |
.desc = "AK ring in use",
|
|
Packit Service |
a1973e |
.code = 0x3f,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_ring_ad_used), /* shared */
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_ring_ad_used,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_RING_BL_USED",
|
|
Packit Service |
a1973e |
.desc = "BL ring in use",
|
|
Packit Service |
a1973e |
.code = 0x40,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_ring_ad_used), /* shared */
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_ring_ad_used,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_DIRECTORY_LAT_OPT",
|
|
Packit Service |
a1973e |
.desc = "Directory latency optimization data return path taken",
|
|
Packit Service |
a1973e |
.code = 0x41,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_SNOOP_RESP_RECV_LOCAL",
|
|
Packit Service |
a1973e |
.desc = "Snoop responses received local",
|
|
Packit Service |
a1973e |
.code = 0x60,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_snp_resp_recv_local),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_snp_resp_recv_local,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_SNP_RESP_RECV_LOCAL",
|
|
Packit Service |
a1973e |
.desc = "Snoop responses received local",
|
|
Packit Service |
a1973e |
.code = 0x60,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.equiv = "UNC_H_SNOOP_RESP_RECV_LOCAL",
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_snp_resp_recv_local),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_snp_resp_recv_local,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TXR_BL_OCCUPANCY",
|
|
Packit Service |
a1973e |
.desc = "BL Egress occupancy",
|
|
Packit Service |
a1973e |
.code = 0x34,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_txr_bl_occupancy),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_txr_bl_occupancy,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_SNOOP_RESP",
|
|
Packit Service |
a1973e |
.desc = "Snoop responses received",
|
|
Packit Service |
a1973e |
.code = 0x21,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_snoop_resp),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_snoop_resp
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_HITME_HIT",
|
|
Packit Service |
a1973e |
.desc = "Hits in the HitMe cache",
|
|
Packit Service |
a1973e |
.code = 0x71,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_hitme_hit),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_hitme_hit
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_HITME_HIT_PV_BITS_SET",
|
|
Packit Service |
a1973e |
.desc = "Number of PV bits set on HitMe cache hits",
|
|
Packit Service |
a1973e |
.code = 0x72,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_hitme_hit_pv_bits_set),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_hitme_hit_pv_bits_set
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_HITME_LOOKUP",
|
|
Packit Service |
a1973e |
.desc = "Number of accesses to HitMe cache",
|
|
Packit Service |
a1973e |
.code = 0x70,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_hitme_hit), /* shared with hswep_unc_h_hitme_hit */
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_hitme_hit
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_SBO0_CREDIT_ACQUIRED",
|
|
Packit Service |
a1973e |
.desc = "SBO0 credits acquired",
|
|
Packit Service |
a1973e |
.code = 0x68,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_sbo0_credits_acquired),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_sbo0_credits_acquired,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_SBO0_CREDIT_OCCUPANCY",
|
|
Packit Service |
a1973e |
.desc = "SBO0 credits occupancy",
|
|
Packit Service |
a1973e |
.code = 0x6a,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_sbo0_credits_acquired),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_sbo0_credits_acquired, /* shared with hswep_unc_h_sbo0_credits_acquired */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_SBO1_CREDIT_ACQUIRED",
|
|
Packit Service |
a1973e |
.desc = "SBO1 credits acquired",
|
|
Packit Service |
a1973e |
.code = 0x69,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_sbo0_credits_acquired),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_sbo0_credits_acquired,/* shared with hswep_unc_h_sbo0_credits_acquired */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_SBO0_CREDIT_OCCUPANCY",
|
|
Packit Service |
a1973e |
.desc = "SBO1 credits occupancy",
|
|
Packit Service |
a1973e |
.code = 0x6b,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_sbo0_credits_acquired),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_sbo0_credits_acquired,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_SNOOPS_RSP_AFTER_DATA",
|
|
Packit Service |
a1973e |
.desc = "Number of reads when the snoops was on the critical path to the data return",
|
|
Packit Service |
a1973e |
.code = 0xa,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_snoops_rsp_after_data),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_snoops_rsp_after_data,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_SNOOPS_CYCLES_NE",
|
|
Packit Service |
a1973e |
.desc = "Number of cycles when one or more snoops are outstanding",
|
|
Packit Service |
a1973e |
.code = 0x8,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_snoops_cycles_ne),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_snoops_cycles_ne,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_SNOOPS_OCCUPANCY",
|
|
Packit Service |
a1973e |
.desc = "Tracker snoops outstanding accumulator",
|
|
Packit Service |
a1973e |
.code = 0x9,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_snoops_rsp_after_data),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_snoops_rsp_after_data, /* shared */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_STALL_NO_SBO_CREDIT",
|
|
Packit Service |
a1973e |
.desc = "Stalls on no SBO credits",
|
|
Packit Service |
a1973e |
.code = 0x6c,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_stall_no_sbo_credit),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_stall_no_sbo_credit,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TRACKER_CYCLES_NE",
|
|
Packit Service |
a1973e |
.desc = "Tracker cycles not empty",
|
|
Packit Service |
a1973e |
.code = 0x3,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_snoops_cycles_ne),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_snoops_cycles_ne, /* shared */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TRACKER_OCCUPANCY",
|
|
Packit Service |
a1973e |
.desc = "Tracker occupancy accumulator",
|
|
Packit Service |
a1973e |
.code = 0x4,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_tracker_occupancy),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_tracker_occupancy,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TRACKER_PENDING_OCCUPANCY",
|
|
Packit Service |
a1973e |
.desc = "Data pending occupancy accumulator",
|
|
Packit Service |
a1973e |
.code = 0x5,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_snoops_rsp_after_data),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_snoops_rsp_after_data, /* shared */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_H_TXR_STARVED",
|
|
Packit Service |
a1973e |
.desc = "Injection starvation",
|
|
Packit Service |
a1973e |
.code = 0x6d,
|
|
Packit Service |
a1973e |
.cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.modmsk = HSWEP_UNC_HA_ATTRS,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(hswep_unc_h_txr_starved),
|
|
Packit Service |
a1973e |
.umasks = hswep_unc_h_txr_starved,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|