#ifndef PERFCOUNTINFO_HH
#define PERFCOUNTINFO_HH
#include "elements/linuxmodule/perfcountuser.hh"
/*
* =c
* PerfCountInfo([TYPE0, TYPE1])
*
* =s counters
* turn on Pentium Pro performance metrics
*
* =d
*
* The Pentium Pro CPU can maintain up to two performance counters.
* PerfCountInfo turns on those counters. TYPE0 is the type of performance
* counter 0, TYPE1 is the type of performance counter 1. Either type may be
* empty, in which case that counter will not be used.
*
* The SetPerfCount and PerfCountAccum elements automatically turn on the
* relevant counters, so PerfCountInfo is not normally needed. It is useful if
* you are instrumenting individual elements.
*
* =n
*
* Valid performance metric names are C<BUS_TRAN_INVAL>, C<BUS_TRAN_MEM>,
* C<DCU_MISS_OUTSTANDING>, C<IFU_FETCH>, C<IFU_FETCH_MISS>, C<IFU_MEM_STALL>,
* C<INST_RETIRED>, C<L2_IFETCH>, C<L2_LD>, C<L2_LINES_IN>, C<L2_LINES_OUT>,
* C<L2_LINES_OUTM>, and C<L2_RQSTS>.
*
* =a
* SetPerfCount, PerfCountAccum, SetCycleCount, CycleCountAccum */
class PerfCountInfo : public PerfCountUser { public:
PerfCountInfo();
~PerfCountInfo();
const char *class_name() const { return "PerfCountInfo"; }
void *cast(const char *);
int configure_phase() const { return CONFIGURE_PHASE_INFO; }
int configure(Vector<String> &, ErrorHandler *);
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1