public void Initialize() { cpu.EnableUncoreCounters(); // 0x83 = increments by number of outstanding requests every cycle in coherency tracker Ring0.WriteMsr(MSR_UNC_ARB_PERFEVTSEL0, GetUncorePerfEvtSelRegisterValue(0x83, 1, false, false, true, false, 0)); // 0x84 = number of requests allocated in coherency tracker Ring0.WriteMsr(MSR_UNC_ARB_PERFEVTSEL1, GetUncorePerfEvtSelRegisterValue(0x84, 1, false, false, true, false, 0)); }
public void Initialize() { cpu.EnableUncoreCounters(); // 0x80 = increments by number of outstanding requests every cycle // counts for coherent and non-coherent requests initiated by cores, igpu, or L3 // only works in counter 0 Ring0.WriteMsr(MSR_UNC_ARB_PERFEVTSEL0, GetUncorePerfEvtSelRegisterValue(0x80, 1, false, false, true, false, 0)); // 0x81 = number of requests Ring0.WriteMsr(MSR_UNC_ARB_PERFEVTSEL1, GetUncorePerfEvtSelRegisterValue(0x81, 1, false, false, true, false, 0)); }