|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* Copyright (c) 2017 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: bdx_unc_r3qpi
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_c_hi_ad_credits_empty[]={
|
|
Packit Service |
a1973e |
{ .uname = "CBO10",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO11",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO12",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO13",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO14_16",
|
|
Packit Service |
a1973e |
.ucode = 0x4000,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO8",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO9",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO_15_17",
|
|
Packit Service |
a1973e |
.ucode = 0x8000,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_c_lo_ad_credits_empty[]={
|
|
Packit Service |
a1973e |
{ .uname = "CBO0",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO1",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO2",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO3",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO4",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO5",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO6",
|
|
Packit Service |
a1973e |
.ucode = 0x4000,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CBO7",
|
|
Packit Service |
a1973e |
.ucode = 0x8000,
|
|
Packit Service |
a1973e |
.udesc = "CBox AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_ha_r2_bl_credits_empty[]={
|
|
Packit Service |
a1973e |
{ .uname = "HA0",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "HA/R2 AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "HA1",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "HA/R2 AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "R2_NCB",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "HA/R2 AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "R2_NCS",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "HA/R2 AD Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_qpi0_ad_credits_empty[]={
|
|
Packit Service |
a1973e |
{ .uname = "VN0_HOM",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "VN0 HOM messages",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "VN0_NDR",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "VN0 NDR messages",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "VN0_SNP",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "VN0 SNP messages",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "VN1_HOM",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "VN1 HOM messages",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "VN1_NDR",
|
|
Packit Service |
a1973e |
.ucode = 0x4000,
|
|
Packit Service |
a1973e |
.udesc = "VN1 NDR messages",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "VN1_SNP",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "VN1 SNP messages",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "VNA",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "VNA messages",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_qpi0_bl_credits_empty[]={
|
|
Packit Service |
a1973e |
{ .uname = "VN1_HOM",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "QPIx BL Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "VN1_NDR",
|
|
Packit Service |
a1973e |
.ucode = 0x4000,
|
|
Packit Service |
a1973e |
.udesc = "QPIx BL Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "VN1_SNP",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "QPIx BL Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "VNA",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "QPIx BL Credits Empty",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_ring_ad_used[]={
|
|
Packit Service |
a1973e |
{ .uname = "CCW",
|
|
Packit Service |
a1973e |
.ucode = 0xc00,
|
|
Packit Service |
a1973e |
.udesc = "Counterclockwise",
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CCW_EVEN",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "Counterclockwise and Even",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CCW_ODD",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "Counterclockwise and Odd",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CW",
|
|
Packit Service |
a1973e |
.ucode = 0x300,
|
|
Packit Service |
a1973e |
.udesc = "Clockwise",
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CW_EVEN",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "Clockwise and Even",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CW_ODD",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "Clockwise and Odd",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_ring_iv_used[]={
|
|
Packit Service |
a1973e |
{ .uname = "ANY",
|
|
Packit Service |
a1973e |
.ucode = 0xf00,
|
|
Packit Service |
a1973e |
.udesc = "Any",
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CW",
|
|
Packit Service |
a1973e |
.ucode = 0x300,
|
|
Packit Service |
a1973e |
.udesc = "Clockwise",
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_NCOMBO,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_ring_sink_starved[]={
|
|
Packit Service |
a1973e |
{ .uname = "AK",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "AK",
|
|
Packit Service |
a1973e |
.uflags = INTEL_X86_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_rxr_cycles_ne[]={
|
|
Packit Service |
a1973e |
{ .uname = "HOM",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "Ingress Cycles Not Empty -- HOM",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NDR",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "Ingress Cycles Not Empty -- NDR",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SNP",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "Ingress Cycles Not Empty -- SNP",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_rxr_cycles_ne_vn1[]={
|
|
Packit Service |
a1973e |
{ .uname = "DRS",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Ingress Cycles Not Empty -- DRS",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "HOM",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Ingress Cycles Not Empty -- HOM",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCB",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Ingress Cycles Not Empty -- NCB",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCS",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Ingress Cycles Not Empty -- NCS",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NDR",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Ingress Cycles Not Empty -- NDR",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SNP",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Ingress Cycles Not Empty -- SNP",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_rxr_inserts[]={
|
|
Packit Service |
a1973e |
{ .uname = "DRS",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "Ingress Allocations -- DRS",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "HOM",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "Ingress Allocations -- HOM",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCB",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "Ingress Allocations -- NCB",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCS",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "Ingress Allocations -- NCS",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NDR",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "Ingress Allocations -- NDR",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SNP",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "Ingress Allocations -- SNP",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_sbo0_credits_acquired[]={
|
|
Packit Service |
a1973e |
{ .uname = "AD",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "SBo0 Credits Acquired -- For AD Ring",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "BL",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "SBo0 Credits Acquired -- For BL Ring",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_sbo1_credits_acquired[]={
|
|
Packit Service |
a1973e |
{ .uname = "AD",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "SBo1 Credits Acquired -- For AD Ring",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "BL",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "SBo1 Credits Acquired -- For BL Ring",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_stall_no_sbo_credit[]={
|
|
Packit Service |
a1973e |
{ .uname = "SBO0_AD",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "Stall on No Sbo Credits -- For SBo0, AD Ring",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SBO0_BL",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "Stall on No Sbo Credits -- For SBo0, BL Ring",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SBO1_AD",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "Stall on No Sbo Credits -- For SBo1, AD Ring",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SBO1_BL",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "Stall on No Sbo Credits -- For SBo1, BL Ring",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_txr_nack[]={
|
|
Packit Service |
a1973e |
{ .uname = "DN_AD",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "Egress CCW NACK -- AD CCW",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DN_AK",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "Egress CCW NACK -- AK CCW",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DN_BL",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "Egress CCW NACK -- BL CCW",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "UP_AD",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "Egress CCW NACK -- AK CCW",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "UP_AK",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "Egress CCW NACK -- BL CW",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "UP_BL",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "Egress CCW NACK -- BL CCW",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_vn0_credits_reject[]={
|
|
Packit Service |
a1973e |
{ .uname = "DRS",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Acquisition Failed on DRS -- DRS Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "HOM",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Acquisition Failed on DRS -- HOM Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCB",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Acquisition Failed on DRS -- NCB Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCS",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Acquisition Failed on DRS -- NCS Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NDR",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Acquisition Failed on DRS -- NDR Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SNP",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Acquisition Failed on DRS -- SNP Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_vn0_credits_used[]={
|
|
Packit Service |
a1973e |
{ .uname = "DRS",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Used -- DRS Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "HOM",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Used -- HOM Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCB",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Used -- NCB Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCS",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Used -- NCS Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NDR",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Used -- NDR Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SNP",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "VN0 Credit Used -- SNP Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_vn1_credits_reject[]={
|
|
Packit Service |
a1973e |
{ .uname = "DRS",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Acquisition Failed on DRS -- DRS Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "HOM",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Acquisition Failed on DRS -- HOM Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCB",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Acquisition Failed on DRS -- NCB Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCS",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Acquisition Failed on DRS -- NCS Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NDR",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Acquisition Failed on DRS -- NDR Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SNP",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Acquisition Failed on DRS -- SNP Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_vn1_credits_used[]={
|
|
Packit Service |
a1973e |
{ .uname = "DRS",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Used -- DRS Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "HOM",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Used -- HOM Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCB",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Used -- NCB Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCS",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Used -- NCS Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NDR",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Used -- NDR Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SNP",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "VN1 Credit Used -- SNP Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_vna_credits_acquired[]={
|
|
Packit Service |
a1973e |
{ .uname = "AD",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "VNA credit Acquisitions -- HOM Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "BL",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "VNA credit Acquisitions -- HOM Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_umask_t bdx_unc_r3_vna_credits_reject[]={
|
|
Packit Service |
a1973e |
{ .uname = "DRS",
|
|
Packit Service |
a1973e |
.ucode = 0x800,
|
|
Packit Service |
a1973e |
.udesc = "VNA Credit Reject -- DRS Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "HOM",
|
|
Packit Service |
a1973e |
.ucode = 0x100,
|
|
Packit Service |
a1973e |
.udesc = "VNA Credit Reject -- HOM Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCB",
|
|
Packit Service |
a1973e |
.ucode = 0x1000,
|
|
Packit Service |
a1973e |
.udesc = "VNA Credit Reject -- NCB Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NCS",
|
|
Packit Service |
a1973e |
.ucode = 0x2000,
|
|
Packit Service |
a1973e |
.udesc = "VNA Credit Reject -- NCS Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NDR",
|
|
Packit Service |
a1973e |
.ucode = 0x400,
|
|
Packit Service |
a1973e |
.udesc = "VNA Credit Reject -- NDR Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SNP",
|
|
Packit Service |
a1973e |
.ucode = 0x200,
|
|
Packit Service |
a1973e |
.udesc = "VNA Credit Reject -- SNP Message Class",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static intel_x86_entry_t intel_bdx_unc_r3_pe[]={
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_CLOCKTICKS",
|
|
Packit Service |
a1973e |
.code = 0x1,
|
|
Packit Service |
a1973e |
.desc = "Counts the number of uclks in the QPI uclk domain. This could be slightly different than the count in the Ubox because of enable/freeze delays. However, because the QPI Agent is close to the Ubox, they generally should not diverge by more than a handful of cycles.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x7,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_C_HI_AD_CREDITS_EMPTY",
|
|
Packit Service |
a1973e |
.code = 0x1f,
|
|
Packit Service |
a1973e |
.desc = "No credits available to send to Cbox on the AD Ring (covers higher CBoxes)",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_c_hi_ad_credits_empty,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_c_hi_ad_credits_empty),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_C_LO_AD_CREDITS_EMPTY",
|
|
Packit Service |
a1973e |
.code = 0x22,
|
|
Packit Service |
a1973e |
.desc = "No credits available to send to Cbox on the AD Ring (covers lower CBoxes)",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_c_lo_ad_credits_empty,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_c_lo_ad_credits_empty),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_HA_R2_BL_CREDITS_EMPTY",
|
|
Packit Service |
a1973e |
.code = 0x2d,
|
|
Packit Service |
a1973e |
.desc = "No credits available to send to either HA or R2 on the BL Ring",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_ha_r2_bl_credits_empty,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_ha_r2_bl_credits_empty),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_QPI0_AD_CREDITS_EMPTY",
|
|
Packit Service |
a1973e |
.code = 0x20,
|
|
Packit Service |
a1973e |
.desc = "No credits available to send to QPI0 on the AD Ring",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_qpi0_ad_credits_empty,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_qpi0_ad_credits_empty),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_QPI0_BL_CREDITS_EMPTY",
|
|
Packit Service |
a1973e |
.code = 0x21,
|
|
Packit Service |
a1973e |
.desc = "No credits available to send to QPI0 on the BL Ring",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_qpi0_bl_credits_empty,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_qpi0_bl_credits_empty),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_QPI1_AD_CREDITS_EMPTY",
|
|
Packit Service |
a1973e |
.code = 0x2e,
|
|
Packit Service |
a1973e |
.desc = "No credits available to send to QPI1 on the AD Ring",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_qpi0_ad_credits_empty,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_qpi0_ad_credits_empty),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_QPI1_BL_CREDITS_EMPTY",
|
|
Packit Service |
a1973e |
.code = 0x2f,
|
|
Packit Service |
a1973e |
.desc = "No credits available to send to QPI1 on the BL Ring",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_qpi0_ad_credits_empty,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_qpi0_ad_credits_empty),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_RING_AD_USED",
|
|
Packit Service |
a1973e |
.code = 0x7,
|
|
Packit Service |
a1973e |
.desc = "Counts the number of cycles that the AD ring is being used at this ring stop. This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x7,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_ring_ad_used,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_ring_ad_used),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_RING_AK_USED",
|
|
Packit Service |
a1973e |
.code = 0x8,
|
|
Packit Service |
a1973e |
.desc = "Counts the number of cycles that the AK ring is being used at this ring stop. This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x7,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_ring_ad_used,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_ring_ad_used),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_RING_BL_USED",
|
|
Packit Service |
a1973e |
.code = 0x9,
|
|
Packit Service |
a1973e |
.desc = "Counts the number of cycles that the BL ring is being used at this ring stop. This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x7,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_ring_ad_used,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_ring_ad_used),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_RING_IV_USED",
|
|
Packit Service |
a1973e |
.code = 0xa,
|
|
Packit Service |
a1973e |
.desc = "Counts the number of cycles that the IV ring is being used at this ring stop. This includes when packets are passing by and when packets are being sent, but does not include when packets are being sunk into the ring stop.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x7,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_ring_iv_used,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_ring_iv_used),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_RING_SINK_STARVED",
|
|
Packit Service |
a1973e |
.code = 0xe,
|
|
Packit Service |
a1973e |
.desc = "Number of cycles the ringstop is in starvation (per ring)",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x7,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_ring_sink_starved,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_ring_sink_starved),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_RXR_CYCLES_NE",
|
|
Packit Service |
a1973e |
.code = 0x10,
|
|
Packit Service |
a1973e |
.desc = "Counts the number of cycles when the QPI Ingress is not empty. This tracks one of the three rings that are used by the QPI agent. This can be used in conjunction with the QPI Ingress Occupancy Accumulator event in order to calculate average queue occupancy. Multiple ingress buffers can be tracked at a given time using multiple counters.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_rxr_cycles_ne,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_rxr_cycles_ne),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_RXR_CYCLES_NE_VN1",
|
|
Packit Service |
a1973e |
.code = 0x14,
|
|
Packit Service |
a1973e |
.desc = "Counts the number of cycles when the QPI VN1 Ingress is not empty. This tracks one of the three rings that are used by the QPI agent. This can be used in conjunction with the QPI VN1 Ingress Occupancy Accumulator event in order to calculate average queue occupancy. Multiple ingress buffers can be tracked at a given time using multiple counters.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_rxr_cycles_ne_vn1,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_rxr_cycles_ne_vn1),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_RXR_INSERTS",
|
|
Packit Service |
a1973e |
.code = 0x11,
|
|
Packit Service |
a1973e |
.desc = "Counts the number of allocations into the QPI Ingress. This tracks one of the three rings that are used by the QPI agent. This can be used in conjunction with the QPI Ingress Occupancy Accumulator event in order to calculate average queue latency. Multiple ingress buffers can be tracked at a given time using multiple counters.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_rxr_inserts,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_rxr_inserts),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_RXR_INSERTS_VN1",
|
|
Packit Service |
a1973e |
.code = 0x15,
|
|
Packit Service |
a1973e |
.desc = "Counts the number of allocations into the QPI VN1 Ingress. This tracks one of the three rings that are used by the QPI agent. This can be used in conjunction with the QPI VN1 Ingress Occupancy Accumulator event in order to calculate average queue latency. Multiple ingress buffers can be tracked at a given time using multiple counters.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_rxr_inserts,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_rxr_inserts),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_RXR_OCCUPANCY_VN1",
|
|
Packit Service |
a1973e |
.code = 0x13,
|
|
Packit Service |
a1973e |
.desc = "Accumulates the occupancy of a given QPI VN1 Ingress queue in each cycles. This tracks one of the three ring Ingress buffers. This can be used with the QPI VN1 Ingress Not Empty event to calculate average occupancy or the QPI VN1 Ingress Allocations event in order to calculate average queuing latency.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x1,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_rxr_inserts,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_rxr_inserts),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_SBO0_CREDITS_ACQUIRED",
|
|
Packit Service |
a1973e |
.code = 0x28,
|
|
Packit Service |
a1973e |
.desc = "Number of Sbo 0 credits acquired in a given cycle, per ring.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_sbo0_credits_acquired,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_sbo0_credits_acquired),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_SBO1_CREDITS_ACQUIRED",
|
|
Packit Service |
a1973e |
.code = 0x29,
|
|
Packit Service |
a1973e |
.desc = "Number of Sbo 1 credits acquired in a given cycle, per ring.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_sbo1_credits_acquired,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_sbo1_credits_acquired),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_STALL_NO_SBO_CREDIT",
|
|
Packit Service |
a1973e |
.code = 0x2c,
|
|
Packit Service |
a1973e |
.desc = "Number of cycles Egress is stalled waiting for an Sbo credit to become available. Per Sbo, per Ring.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_stall_no_sbo_credit,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_stall_no_sbo_credit),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_TXR_NACK",
|
|
Packit Service |
a1973e |
.code = 0x26,
|
|
Packit Service |
a1973e |
.desc = "",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_txr_nack,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_txr_nack),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_VN0_CREDITS_REJECT",
|
|
Packit Service |
a1973e |
.code = 0x37,
|
|
Packit Service |
a1973e |
.desc = "Number of times a request failed to acquire a DRS VN0 credit. In order for a request to be transferred across QPI, it must be guaranteed to have a flit buffer on the remote socket to sink into. There are two credit pools, VNA and VN0. VNA is a shared pool used to achieve high performance. The VN0 pool has reserved entries for each message class and is used to prevent deadlock. Requests first attempt to acquire a VNA credit, and then fall back to VN0 if they fail. This therefore counts the number of times when a request failed to acquire either a VNA or VN0 credit and is delayed. This should generally be a rare situation.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_vn0_credits_reject,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_vn0_credits_reject),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_VN0_CREDITS_USED",
|
|
Packit Service |
a1973e |
.code = 0x36,
|
|
Packit Service |
a1973e |
.desc = "Number of times a VN0 credit was used on the DRS message channel. In order for a request to be transferred across QPI, it must be guaranteed to have a flit buffer on the remote socket to sink into. There are two credit pools, VNA and VN0. VNA is a shared pool used to achieve high performance. The VN0 pool has reserved entries for each message class and is used to prevent deadlock. Requests first attempt to acquire a VNA credit, and then fall back to VN0 if they fail. This counts the number of times a VN0 credit was used. Note that a single VN0 credit holds access to potentially multiple flit buffers. For example, a transfer that uses VNA could use 9 flit buffers and in that case uses 9 credits. A transfer on VN0 will only count a single credit even though it may use multiple buffers.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_vn0_credits_used,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_vn0_credits_used),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_VN1_CREDITS_REJECT",
|
|
Packit Service |
a1973e |
.code = 0x39,
|
|
Packit Service |
a1973e |
.desc = "Number of times a request failed to acquire a VN1 credit. In order for a request to be transferred across QPI, it must be guaranteed to have a flit buffer on the remote socket to sink into. There are two credit pools, VNA and VN1. VNA is a shared pool used to achieve high performance. The VN1 pool has reserved entries for each message class and is used to prevent deadlock. Requests first attempt to acquire a VNA credit, and then fall back to VN1 if they fail. This therefore counts the number of times when a request failed to acquire either a VNA or VN1 credit and is delayed. This should generally be a rare situation.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_vn1_credits_reject,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_vn1_credits_reject),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_VN1_CREDITS_USED",
|
|
Packit Service |
a1973e |
.code = 0x38,
|
|
Packit Service |
a1973e |
.desc = "Number of times a VN1 credit was used on the DRS message channel. In order for a request to be transferred across QPI, it must be guaranteed to have a flit buffer on the remote socket to sink into. There are two credit pools, VNA and VN1. VNA is a shared pool used to achieve high performance. The VN1 pool has reserved entries for each message class and is used to prevent deadlock. Requests first attempt to acquire a VNA credit, and then fall back to VN1 if they fail. This counts the number of times a VN1 credit was used. Note that a single VN1 credit holds access to potentially multiple flit buffers. For example, a transfer that uses VNA could use 9 flit buffers and in that case uses 9 credits. A transfer on VN1 will only count a single credit even though it may use multiple buffers.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_vn1_credits_used,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_vn1_credits_used),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_VNA_CREDITS_ACQUIRED",
|
|
Packit Service |
a1973e |
.code = 0x33,
|
|
Packit Service |
a1973e |
.desc = "Number of QPI VNA Credit acquisitions. This event can be used in conjunction with the VNA In-Use Accumulator to calculate the average lifetime of a credit holder. VNA credits are used by all message classes in order to communicate across QPI. If a packet is unable to acquire credits, it will then attempt to use credts from the VN0 pool. Note that a single packet may require multiple flit buffers (i.e. when data is being transfered). Therefore, this event will increment by the number of credits acquired in each cycle. Filtering based on message class is not provided. One can count the number of packets transfered in a given message class using an qfclk event.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_vna_credits_acquired,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_vna_credits_acquired),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "UNC_R3_VNA_CREDITS_REJECT",
|
|
Packit Service |
a1973e |
.code = 0x34,
|
|
Packit Service |
a1973e |
.desc = "Number of attempted VNA credit acquisitions that were rejected because the VNA credit pool was full (or almost full). It is possible to filter this event by message class. Some packets use more than one flit buffer, and therefore must acquire multiple credits. Therefore, one could get a reject even if the VNA credits were not fully used up. The VNA pool is generally used to provide the bulk of the QPI bandwidth (as opposed to the VN0 pool which is used to guarantee forward progress). VNA credits can run out if the flit buffer on the receiving side starts to queue up substantially. This can happen if the rest of the uncore is unable to drain the requests fast enough.",
|
|
Packit Service |
a1973e |
.modmsk = BDX_UNC_R3QPI_ATTRS,
|
|
Packit Service |
a1973e |
.cntmsk = 0x3,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = bdx_unc_r3_vna_credits_reject,
|
|
Packit Service |
a1973e |
.numasks= LIBPFM_ARRAY_SIZE(bdx_unc_r3_vna_credits_reject),
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|