if (phys_mem) {
if ((mlock_size + 128 * 1024 * 1024) > phys_mem) {
mlock_size = phys_mem - 128 * 1024 * 1024;
- log_info("fio: limiting mlocked memory to %lluMiB\n",
+ log_info("fio: limiting mlocked memory to %lluMB\n",
mlock_size >> 20);
}
}
return 0;
total_mem = td->orig_buffer_size;
- if (td->o.odirect)
+
+ if (td->o.odirect || td->o.mem_align) {
total_mem += page_mask;
+ if (td->o.mem_align && td->o.mem_align > page_size)
+ total_mem += td->o.mem_align - page_size;
+ }
if (td->o.mem_type == MEM_MALLOC)
ret = alloc_mem_malloc(td, total_mem);