I need to know why the Xeon E3-1285 v6 CPU throttles its uncore (cache, ring) after several minutes of runtime although I set it to fixed min/max of 42/42 in MSR_UNCORE_RATIO_LIMIT (0x620). The cores are set to P-State 44 (Turbo, nominal is 41) and stay there all the time (cores do not throttle). MSR_RING_PERF_LIMIT_REASONS (0x6B1) does not indicate any reason. Power and Thermal limits are definitely not reached.
Writing MSR_UNCORE_RATIO_LIMIT (0x620) two times with 41/42 and 42/42 again resets the condition, but the perf drop will happen again after some minutes. I cannot write to the MSR all the time as it increases jitter (application is very time critical).
I tried measuring the uncore frequency using MSR_UNC_PERF_GLOBAL_CTRL (0xE01), MSR_UNC_PERF_FIXED_CTRL (0x394) and MSR_UNC_PERF_FIXED_CTR (0x395), but the counter does not give me any meaningful value for UCLK.
The OS is proprietary and does not perform any power management, so it is not relevant.
I already posted this topic in "Processors". They couldn't help me there.