void futex_print_nbuckets(struct bench_futex_parameters *params)
{ char *futex_hash_mode; int ret;
ret = prctl(PR_FUTEX_HASH, PR_FUTEX_HASH_GET_SLOTS); if (params->nbuckets >= 0) { if (ret != params->nbuckets) { if (ret < 0) {
printf("Can't query number of buckets: %m\n");
err(EXIT_FAILURE, "prctl(PR_FUTEX_HASH)");
}
printf("Requested number of hash buckets does not currently used.\n");
printf("Requested: %d in usage: %d\n", params->nbuckets, ret);
err(EXIT_FAILURE, "prctl(PR_FUTEX_HASH)");
} if (params->nbuckets == 0)
ret = asprintf(&futex_hash_mode, "Futex hashing: global hash"); else
ret = asprintf(&futex_hash_mode, "Futex hashing: %d hash buckets",
params->nbuckets);
} else { if (ret <= 0) {
ret = asprintf(&futex_hash_mode, "Futex hashing: global hash");
} else {
ret = asprintf(&futex_hash_mode, "Futex hashing: auto resized to %d buckets",
ret);
}
} if (ret < 0)
err(EXIT_FAILURE, "ENOMEM, futex_hash_mode");
printf("%s\n", futex_hash_mode);
free(futex_hash_mode);
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.