windows-nt/Source/XPSP1/NT/base/tools/pperf/dll/p6data.h

195 lines
9.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++ BUILD Version: 0001 // Increment this if a change has global effects
Copyright (c) 1992 Microsoft Corporation
Module Name:
p6data.h
Abstract:
Header file for the p5 Extensible Object data definitions
This file contains definitions to construct the dynamic data
which is returned by the Configuration Registry. Data from
various system API calls is placed into the structures shown
here.
Author:
Russ Blake 12/23/93
Revision History:
--*/
#ifndef _P6DATA_H_
#define _P6DATA_H_
#pragma pack(4)
//----------------------------------------------------------------------------
//
// This structure defines the definition header for this performance object
// This data is initialized in p6data.c and is more or less constant after
// that. Organizationally, it is followed by an instance definition
// structure and a counter data structure for each processor on the system.
//
typedef struct _P6_DATA_DEFINITION {
PERF_OBJECT_TYPE P6PerfObject;
PERF_COUNTER_DEFINITION StoreBufferBlocks;
PERF_COUNTER_DEFINITION StoreBufferDrainCycles;
PERF_COUNTER_DEFINITION MisalignedDataRef;
PERF_COUNTER_DEFINITION SegmentLoads;
PERF_COUNTER_DEFINITION FLOPSExecuted;
PERF_COUNTER_DEFINITION MicrocodeFPExceptions;
PERF_COUNTER_DEFINITION Multiplies;
PERF_COUNTER_DEFINITION Divides;
PERF_COUNTER_DEFINITION DividerBusyCycles;
PERF_COUNTER_DEFINITION L2AddressStrobes;
PERF_COUNTER_DEFINITION L2DataBusBusyCycles;
PERF_COUNTER_DEFINITION L2DataBusToCpuBusyCycles;
PERF_COUNTER_DEFINITION L2LinesAllocated;
PERF_COUNTER_DEFINITION L2LinesMState;
PERF_COUNTER_DEFINITION L2LinesRemoved;
PERF_COUNTER_DEFINITION L2LinesMStateRemoved;
PERF_COUNTER_DEFINITION L2InstructionFetches;
PERF_COUNTER_DEFINITION L2DataLoads;
PERF_COUNTER_DEFINITION L2DataStores;
PERF_COUNTER_DEFINITION L2Requests;
PERF_COUNTER_DEFINITION DataMemoryReferences;
PERF_COUNTER_DEFINITION DCULinesAllocated;
PERF_COUNTER_DEFINITION DCUMStateLinesAllocated;
PERF_COUNTER_DEFINITION DCUMStateLinesEvicted;
PERF_COUNTER_DEFINITION WeightedDCUMissesOutstd;
PERF_COUNTER_DEFINITION BusRequestsOutstanding;
PERF_COUNTER_DEFINITION BusBNRPinDriveCycles;
PERF_COUNTER_DEFINITION BusDRDYAssertedClocks;
PERF_COUNTER_DEFINITION BusLockAssertedClocks;
PERF_COUNTER_DEFINITION BusClocksReceivingData;
PERF_COUNTER_DEFINITION BusBurstReadTransactions;
PERF_COUNTER_DEFINITION BusReadForOwnershipTrans;
PERF_COUNTER_DEFINITION BusWritebackTransactions;
PERF_COUNTER_DEFINITION BusInstructionFetches;
PERF_COUNTER_DEFINITION BusInvalidateTransactions;
PERF_COUNTER_DEFINITION BusPartialWriteTransactions;
PERF_COUNTER_DEFINITION BusPartialTransactions;
PERF_COUNTER_DEFINITION BusIOTransactions;
PERF_COUNTER_DEFINITION BusDeferredTransactions;
PERF_COUNTER_DEFINITION BusBurstTransactions;
PERF_COUNTER_DEFINITION BusMemoryTransactions;
PERF_COUNTER_DEFINITION BusAllTransactions;
PERF_COUNTER_DEFINITION CPUWasNotHaltedCycles;
PERF_COUNTER_DEFINITION BusCPUDrivesHitCycles;
PERF_COUNTER_DEFINITION BusCPUDrivesHITMCycles;
PERF_COUNTER_DEFINITION BusSnoopStalledCycles;
PERF_COUNTER_DEFINITION InstructionFetches;
PERF_COUNTER_DEFINITION InstructionFetchMisses;
PERF_COUNTER_DEFINITION InstructionTLBMisses;
PERF_COUNTER_DEFINITION InstructionFetcthStalledCycles;
PERF_COUNTER_DEFINITION InstructionLenDecoderStalledCycles;
PERF_COUNTER_DEFINITION ResourceRelatedStalls;
PERF_COUNTER_DEFINITION InstructionsRetired;
PERF_COUNTER_DEFINITION FPComputeOpersRetired;
PERF_COUNTER_DEFINITION UOPsRetired;
PERF_COUNTER_DEFINITION BranchesRetired;
PERF_COUNTER_DEFINITION BranchMissPredictionsRetired;
PERF_COUNTER_DEFINITION InterruptsMaskedCycles;
PERF_COUNTER_DEFINITION IntPendingWhileMaskedCycles;
PERF_COUNTER_DEFINITION HardwareInterruptsReceived;
PERF_COUNTER_DEFINITION TakenBranchesRetired;
PERF_COUNTER_DEFINITION TakenBranchMissPredRetired;
PERF_COUNTER_DEFINITION InstructionsDecoded;
PERF_COUNTER_DEFINITION PartialRegisterStalls;
PERF_COUNTER_DEFINITION BranchesDecoded;
PERF_COUNTER_DEFINITION BTBMisses;
PERF_COUNTER_DEFINITION BogusBranches;
PERF_COUNTER_DEFINITION BACLEARSAsserted;
} P6_DATA_DEFINITION, *PP6_DATA_DEFINITION;
extern P6_DATA_DEFINITION P6DataDefinition;
typedef struct _P6_COUNTER_DATA {
PERF_COUNTER_BLOCK CounterBlock;
// direct counters
LONGLONG llStoreBufferBlocks; // 0x03
LONGLONG llStoreBufferDrainCycles; // 0x04
LONGLONG llMisalignedDataRef; // 0x05
LONGLONG llSegmentLoads; // 0x06
LONGLONG llFLOPSExecuted; // 0x10
LONGLONG llMicrocodeFPExceptions; // 0x11
LONGLONG llMultiplies; // 0x12
LONGLONG llDivides; // 0x13
LONGLONG llDividerBusyCycles; // 0x14
LONGLONG llL2AddressStrobes; // 0x21
LONGLONG llL2DataBusBusyCycles; // 0x22
LONGLONG llL2DataBusToCpuBusyCycles; // 0x23
LONGLONG llL2LinesAllocated; // 0x24
LONGLONG llL2LinesMState; // 0x25
LONGLONG llL2LinesRemoved; // 0x26
LONGLONG llL2LinesMStateRemoved; // 0x27
LONGLONG llL2InstructionFetches; // 0x28
LONGLONG llL2DataLoads; // 0x29
LONGLONG llL2DataStores; // 0x2a
LONGLONG llL2Requests; // 0x2e
LONGLONG llDataMemoryReferences; // 0x43
LONGLONG llDCULinesAllocated; // 0x45
LONGLONG llDCUMStateLinesAllocated; // 0x46
LONGLONG llDCUMStateLinesEvicted; // 0x47
LONGLONG llWeightedDCUMissesOutstd; // 0x48
LONGLONG llBusRequestsOutstanding; // 0x60
LONGLONG llBusBNRPinDriveCycles; // 0x61
LONGLONG llBusDRDYAssertedClocks; // 0x62
LONGLONG llBusLockAssertedClocks; // 0x63
LONGLONG llBusClocksReceivingData; // 0x64
LONGLONG llBusBurstReadTransactions; // 0x65
LONGLONG llBusReadForOwnershipTrans; // 0x66
LONGLONG llBusWritebackTransactions; // 0x67
LONGLONG llBusInstructionFetches; // 0x68
LONGLONG llBusInvalidateTransactions; // 0x69
LONGLONG llBusPartialWriteTransactions; // 0x6a
LONGLONG llBusPartialTransactions; // 0x6b
LONGLONG llBusIOTransactions; // 0x6c
LONGLONG llBusDeferredTransactions; // 0x6d
LONGLONG llBusBurstTransactions; // 0x6e
LONGLONG llBusMemoryTransactions; // 0x6f
LONGLONG llBusAllTransactions; // 0x70
LONGLONG llCPUWasNotHaltedCycles; // 0x79
LONGLONG llBusCPUDrivesHitCycles; // 0x7a
LONGLONG llBusCPUDrivesHITMCycles; // 0x7b
LONGLONG llBusSnoopStalledCycles; // 0x7e
LONGLONG llInstructionFetches; // 0x80
LONGLONG llInstructionFetchMisses; // 0x81
LONGLONG llInstructionTLBMisses; // 0x85
LONGLONG llInstructionFetcthStalledCycles; // 0x86
LONGLONG llInstructionLenDecoderStalledCycles; // 0x87
LONGLONG llResourceRelatedStalls; // 0xa2
LONGLONG llInstructionsRetired; // 0xc0
LONGLONG llFPComputeOpersRetired; // 0xc1
LONGLONG llUOPsRetired; // 0xc2
LONGLONG llBranchesRetired; // 0xc4
LONGLONG llBranchMissPredictionsRetired; // 0xc5
LONGLONG llInterruptsMaskedCycles; // 0xc6
LONGLONG llIntPendingWhileMaskedCycles; // 0xc7
LONGLONG llHardwareInterruptsReceived; // 0xc8
LONGLONG llTakenBranchesRetired; // 0xc9
LONGLONG llTakenBranchMissPredRetired; // 0xca
LONGLONG llInstructionsDecoded; // 0xd0
LONGLONG llPartialRegisterStalls; // 0xd2
LONGLONG llBranchesDecoded; // 0xe0
LONGLONG llBTBMisses; // 0xe2
LONGLONG llBogusBranches; // 0xe4
LONGLONG llBACLEARSAsserted; // 0xe6
} P6_COUNTER_DATA, *PP6_COUNTER_DATA;
extern DWORD P6IndexToData[]; // table to find data field
extern DWORD P6IndexMax; // number of direct counters
#endif //_P6DATA_H_