[PATCH] Document how to setup/use huge pages
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/HOWTO b/HOWTO
index f5e2449..996da23 100644
--- a/HOWTO
+++ b/HOWTO
@@ -367,7 +367,22 @@
mem=mmaphuge:/hugetlbfs/file
The area allocated is a function of the maximum allowed
- bs size for the job, multiplied by the io depth given.
+ bs size for the job, multiplied by the io depth given. Note
+ that for shmhuge and mmaphuge to work, the system must have
+ free huge pages allocated. This can normally be checked
+ and set by reading/writing /proc/sys/vm/nr_hugepages on a
+ Linux system. Fio assumes a huge page is 4MiB in size. So
+ to calculate the number of huge pages you need for a given
+ job file, add up the io depth of all jobs (normally one unless
+ iodepth= is used) and multiply by the maximum bs set. Then
+ divide that number by the huge page size. You can see the
+ size of the huge pages in /proc/meminfo. If no huge pages
+ are allocated by having a non-zero number in nr_hugepages,
+ using mmaphuge or shmhuge will fail.
+
+ mmaphuge also needs to have hugetlbfs mounted and the file
+ location should point there. So if it's mounted in /huge,
+ you would use mem=mmaphuge:/huge/somefile.
exitall When one job finishes, terminate the rest. The default is
to wait for each job to finish, sometimes that is not the