X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=memory.c;h=4a9dc4af212d05feee7b360c9fd6dd08ea6200f4;hp=82a79bd7175b9a74ca0846a669d767e06d50b84d;hb=15cf40b2844caad4cf8da0cdaeddd132cd6adefc;hpb=0f805c00a7073293f4cceb041a6af0b9f388e6f8 diff --git a/memory.c b/memory.c index 82a79bd7..4a9dc4af 100644 --- a/memory.c +++ b/memory.c @@ -5,7 +5,9 @@ #include #include #include +#ifndef FIO_NO_HAVE_SHM_H #include +#endif #include #include "fio.h" @@ -121,6 +123,13 @@ static int alloc_mem_mmap(struct thread_data *td, size_t total_mem) td->mmapfd = 1; + if (td->o.mem_type == MEM_MMAPHUGE) { + unsigned long mask = td->o.hugepage_size - 1; + + flags |= MAP_HUGETLB; + total_mem = (total_mem + mask) & ~mask; + } + if (td->mmapfile) { td->mmapfd = open(td->mmapfile, O_RDWR|O_CREAT, 0644);