Blame src/libpfm4/lib/events/intel_snb_unc_events.h

Packit 577717
/*
Packit 577717
 * Copyright (c) 2012 Google, Inc
Packit 577717
 * Contributed by Stephane Eranian <eranian@gmail.com>
Packit 577717
 *
Packit 577717
 * Permission is hereby granted, free of charge, to any person obtaining a copy
Packit 577717
 * of this software and associated documentation files (the "Software"), to deal
Packit 577717
 * in the Software without restriction, including without limitation the rights
Packit 577717
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
Packit 577717
 * of the Software, and to permit persons to whom the Software is furnished to do so,
Packit 577717
 * subject to the following conditions:
Packit 577717
 *
Packit 577717
 * The above copyright notice and this permission notice shall be included in all
Packit 577717
 * copies or substantial portions of the Software.
Packit 577717
 *
Packit 577717
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
Packit 577717
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
Packit 577717
 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
Packit 577717
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
Packit 577717
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
Packit 577717
 * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Packit 577717
 *
Packit 577717
 * This file is part of libpfm, a performance monitoring support library for
Packit 577717
 * applications on Linux.
Packit 577717
 *
Packit 577717
 * PMU: snb_unc (Intel Sandy Bridge uncore PMU)
Packit 577717
 */
Packit 577717
Packit 577717
static const intel_x86_umask_t snb_unc_cbo_xsnp_response[]={
Packit 577717
   { .uname  = "MISS",
Packit 577717
     .udesc  = "Number of snoop misses",
Packit 577717
     .ucode  = 0x100,
Packit 577717
     .grpid  = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "INVAL",
Packit 577717
     .udesc  = "Number of snoop invalidates of a non-modified line",
Packit 577717
     .ucode  = 0x200,
Packit 577717
     .grpid  = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "HIT",
Packit 577717
     .udesc  = "Number of snoop hits of a non-modified line",
Packit 577717
     .ucode  = 0x400,
Packit 577717
     .grpid  = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "HITM",
Packit 577717
     .udesc  = "Number of snoop hits of a modified line",
Packit 577717
     .ucode  = 0x800,
Packit 577717
     .grpid  = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "INVAL_M",
Packit 577717
     .udesc  = "Number of snoop invalidates of a modified line",
Packit 577717
     .ucode  = 0x1000,
Packit 577717
     .grpid  = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY_SNP",
Packit 577717
     .udesc  = "Number of snoops",
Packit 577717
     .ucode  = 0x1f00,
Packit 577717
     .grpid  = 0,
Packit 577717
     .uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "EXTERNAL_FILTER",
Packit 577717
     .udesc  = "Filter on cross-core snoops initiated by this Cbox due to external snoop request",
Packit 577717
     .ucode  = 0x2000,
Packit 577717
     .grpid  = 1,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "XCORE_FILTER",
Packit 577717
     .udesc  = "Filter on cross-core snoops initiated by this Cbox due to processor core memory request",
Packit 577717
     .ucode  = 0x4000,
Packit 577717
     .grpid  = 1,
Packit 577717
     .uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "EVICTION_FILTER",
Packit 577717
     .udesc  = "Filter on cross-core snoops initiated by this Cbox due to LLC eviction",
Packit 577717
     .ucode  = 0x8000,
Packit 577717
     .grpid  = 1,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t snb_unc_cbo_cache_lookup[]={
Packit 577717
   { .uname  = "STATE_M",
Packit 577717
     .udesc  = "Number of LLC lookup requests for a line in modified state",
Packit 577717
     .ucode  = 0x100,
Packit 577717
     .grpid  = 0,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "STATE_E",
Packit 577717
     .udesc  = "Number of LLC lookup requests for a line in exclusive state",
Packit 577717
     .ucode  = 0x200,
Packit 577717
     .grpid  = 0,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "STATE_S",
Packit 577717
     .udesc  = "Number of LLC lookup requests for a line in shared state",
Packit 577717
     .ucode  = 0x400,
Packit 577717
     .grpid  = 0,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "STATE_I",
Packit 577717
     .udesc  = "Number of LLC lookup requests for a line in invalid state",
Packit 577717
     .ucode  = 0x800,
Packit 577717
     .grpid  = 0,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "STATE_MESI",
Packit 577717
     .udesc  = "Number of LLC lookup requests for a line",
Packit 577717
     .ucode  = 0xf00,
Packit 577717
     .grpid  = 0,
Packit 577717
     .uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "READ_FILTER",
Packit 577717
     .udesc  = "Filter on processor core initiated cacheable read requests",
Packit 577717
     .ucode  = 0x1000,
Packit 577717
     .grpid  = 1,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE_FILTER",
Packit 577717
     .udesc  = "Filter on processor core initiated cacheable write requests",
Packit 577717
     .ucode  = 0x2000,
Packit 577717
     .grpid  = 1,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "EXTSNP_FILTER",
Packit 577717
     .udesc  = "Filter on external snoop requests",
Packit 577717
     .ucode  = 0x4000,
Packit 577717
     .grpid  = 1,
Packit 577717
     .uflags = INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY_FILTER",
Packit 577717
     .udesc  = "Filter on any IRQ or IPQ initiated requests including uncacheable, non-coherent requests",
Packit 577717
     .ucode  = 0x8000,
Packit 577717
     .grpid  = 1,
Packit 577717
     .uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_entry_t intel_snb_unc_cbo0_pe[]={
Packit 577717
{ .name   = "UNC_CLOCKTICKS",
Packit 577717
  .desc   = "uncore clock ticks",
Packit 577717
  .cntmsk = 1ULL << 32,
Packit 577717
  .code = 0xff, /* perf_event pseudo encoding */
Packit 577717
  .flags = INTEL_X86_FIXED,
Packit 577717
},
Packit 577717
{ .name   = "UNC_CBO_XSNP_RESPONSE",
Packit 577717
  .desc   = "Snoop responses",
Packit 577717
  .modmsk = INTEL_SNB_UNC_ATTRS,
Packit 577717
  .cntmsk = 0xff,
Packit 577717
  .code = 0x22,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(snb_unc_cbo_xsnp_response),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = snb_unc_cbo_xsnp_response,
Packit 577717
},
Packit 577717
{ .name   = "UNC_CBO_CACHE_LOOKUP",
Packit 577717
  .desc   = "LLC cache lookups",
Packit 577717
  .modmsk = INTEL_SNB_UNC_ATTRS,
Packit 577717
  .cntmsk = 0xff,
Packit 577717
  .code = 0x34,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(snb_unc_cbo_cache_lookup),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = snb_unc_cbo_cache_lookup,
Packit 577717
},
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_entry_t intel_snb_unc_cbo_pe[]={
Packit 577717
{ .name   = "UNC_CBO_XSNP_RESPONSE",
Packit 577717
  .desc   = "Snoop responses (must provide a snoop type and filter)",
Packit 577717
  .modmsk = INTEL_SNB_UNC_ATTRS,
Packit 577717
  .cntmsk = 0xff,
Packit 577717
  .code = 0x22,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(snb_unc_cbo_xsnp_response),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = snb_unc_cbo_xsnp_response,
Packit 577717
},
Packit 577717
{ .name   = "UNC_CBO_CACHE_LOOKUP",
Packit 577717
  .desc   = "LLC cache lookups",
Packit 577717
  .modmsk = INTEL_SNB_UNC_ATTRS,
Packit 577717
  .cntmsk = 0xff,
Packit 577717
  .code = 0x34,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(snb_unc_cbo_cache_lookup),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = snb_unc_cbo_cache_lookup,
Packit 577717
},
Packit 577717
};