not all CPUs know ondemand

This commit is contained in:
van Hauser
2019-11-15 14:46:01 +01:00
parent d8264390d2
commit 4b3deaf28b
2 changed files with 21 additions and 5 deletions

View File

@ -113,6 +113,7 @@ static unsigned int ext_call_instrument(function *fun) {
DECL_EXTERNAL(fndecl) = 1; /* External linkage */
DECL_ARTIFICIAL(fndecl) = 1; /* Injected by compiler */
printf("NEW FUNC %s\n", function_name(fun));
FOR_EACH_BB_FN(bb, fun) {
gimple_seq fcall;
@ -128,24 +129,40 @@ static unsigned int ext_call_instrument(function *fun) {
int more_than_one = -1;
edge ep;
edge_iterator eip;
int foo = 0;
if (ep->flags & EDGE_FALLTHRU)
printf("pred %d fallthough\n", foo);
FOR_EACH_EDGE(ep, eip, bb->preds) {
int item = 0;
foo++;
printf("pred %d\n", foo);
if (ep->flags & EDGE_FALLTHRU)
printf("pred %d fallthough\n", foo);
int count = 0;
if (ep->flags & EDGE_FALLTHRU)
if (more_than_one == -1) more_than_one = 0;
basic_block Pred = ep->src;
edge es;
edge_iterator eis;
FOR_EACH_EDGE(es, eis, Pred->succs) {
item++;
if (es->flags & EDGE_FALLTHRU)
printf("item %d fallthough\n", item);
basic_block Succ = es->dest;
if (Succ != NULL) count++;
}
printf("total items: %d\n", item);
if (count > 1) more_than_one = 1;
}
printf("result: %d\n", more_than_one);
if (more_than_one != 1) continue;

View File

@ -1562,11 +1562,10 @@ void check_cpu_governor(void) {
" echo performance | tee cpu*/cpufreq/scaling_governor\n\n"
" You can later go back to the original state by replacing "
"'performance' with\n"
" 'ondemand'. If you don't want to change the settings, set "
"AFL_SKIP_CPUFREQ\n"
" to make afl-fuzz skip this check - but expect some performance "
"drop.\n",
"'performance'\n"
" with 'ondemand' or 'powersave'. If you don't want to change the settings,\n"
" set AFL_SKIP_CPUFREQ to make afl-fuzz skip this check - but expect some\n"
" performance drop.\n",
min / 1024, max / 1024);
FATAL("Suboptimal CPU scaling governor");