Detect and print when the OS doesn't support huge pages
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/memory.c b/memory.c
index d075c35..a95edd7 100644
--- a/memory.c
+++ b/memory.c
@@ -65,8 +65,12 @@
td_verror(td, errno, "shmget");
if (geteuid() != 0 && errno == ENOMEM)
log_err("fio: you may need to run this job as root\n");
- if (errno == EINVAL && td->o.mem_type == MEM_SHMHUGE)
- log_err("fio: check that you have free huge pages and that hugepage-size is correct.\n");
+ if (td->o.mem_type == MEM_SHMHUM) {
+ if (errno == EINVAL)
+ log_err("fio: check that you have free huge pages and that hugepage-size is correct.\n");
+ else if (errno == ENOSYS)
+ log_err("fio: your system does not appear to support huge pages.\n");
+ }
return 1;
}