RAPL was introduced on Sandybridge, so Arrandale does not support this, so perhaps powertop is incorrect. Powertop just reads MSR 0x611using:
ret = read_msr(first_cpu, MSR_PKG_ENERY_STATUS, &value);
if (ret > 0) { rapl_domains |= PKG_DOMAIN_PRESENT; RAPL_DBG_PRINT("Domain : PKG present\n");
} else { RAPL_DBG_PRINT("Domain : PKG Not present\n");
}
..and read_msr() in src/lib.cpp in powertop should return -1 if MSR 0x611 does not exist. So it is indeed curious that this does not fail. It's as if the MSR exists, but perhaps RAPL is not really supported correctly on Arrandale.
RAPL was introduced on Sandybridge, so Arrandale does not support this, so perhaps powertop is incorrect. Powertop just reads MSR 0x611using:
ret = read_msr(first_cpu, MSR_PKG_ ENERY_STATUS, &value);
rapl_ domains |= PKG_DOMAIN_PRESENT;
RAPL_ DBG_PRINT( "Domain : PKG present\n");
RAPL_ DBG_PRINT( "Domain : PKG Not present\n");
if (ret > 0) {
} else {
}
..and read_msr() in src/lib.cpp in powertop should return -1 if MSR 0x611 does not exist. So it is indeed curious that this does not fail. It's as if the MSR exists, but perhaps RAPL is not really supported correctly on Arrandale.
CPU model number 06 25 (Arrandale) does not support RAPL, tools such as turbostat detect the CPU ID and bail out for Arrandale, see http:// sourceforge. net/p/openipmi/ linux-ipmi/ ci/a729617c5852 9be0be8faa22c5d 45748bb0f12e5/ tree/tools/ power/x86/ turbostat/ turbostat. c, see lines 765-789.
I need to discuss this further with Intel