Checking CPU scaling on MacOS

Checking optimal cpu performance or ignore if the AFL_SKIP_CPUFREQ
env is set.
This commit is contained in:
David Carlier 2019-09-18 22:04:16 +01:00
parent 74a984d75f
commit 48e6e3ac45

View File

@ -1479,9 +1479,39 @@ void check_cpu_governor(void) {
"drop.\n", "drop.\n",
min / 1024, max / 1024); min / 1024, max / 1024);
FATAL("Suboptimal CPU scaling governor"); #else
#endif u64 min = 0, max = 0;
size_t mlen = sizeof(min);
if (getenv("AFL_SKIP_CPUFREQ")) return;
ACTF("Checking CPU scaling governor...");
if (sysctlbyname("hw.cpufrequency_min", &min, &mlen, NULL, 0) == -1) {
WARNF("Could not check CPU min frequency");
return;
}
if (sysctlbyname("hw.cpufrequency_max", &max, &mlen, NULL, 0) == -1) {
WARNF("Could not check CPU max frequency");
return;
}
if (min == max) return;
SAYF("\n" cLRD "[-] " cRST
"Whoops, your system uses on-demand CPU frequency scaling, adjusted\n"
" between %llu and %llu MHz.\n"
" If you don't want to check those settings, set "
"AFL_SKIP_CPUFREQ\n"
" to make afl-fuzz skip this check - but expect some performance "
"drop.\n",
min / 1024, max / 1024);
#endif
FATAL("Suboptimal CPU scaling governor");
} }
/* Count the number of logical CPU cores. */ /* Count the number of logical CPU cores. */