Revamp file locking
[fio.git] / HOWTO
diff --git a/HOWTO b/HOWTO
index 3e0a31b6767aadb1855471337b50bd8643767c59..3d9229338a11c9628f18d61a2a13e6cdc8b1c263 100644 (file)
--- a/HOWTO
+++ b/HOWTO
@@ -219,13 +219,24 @@ filename=str      Fio normally makes up a filename based on the job name,
 opendir=str    Tell fio to recursively add any file it can find in this
                directory and down the file system tree.
 
 opendir=str    Tell fio to recursively add any file it can find in this
                directory and down the file system tree.
 
-lockfile=bool  If set, fio will lock a file internally before doing IO to it.
-               This makes it safe to share file descriptors across fio
-               jobs that run at the same time.
-
-lockfile_batch=int     Acquiring a semaphore can be quite expensive, so
-               allow a process to complete this number of IOs before releasing
-               the semaphore again. Defaults to 1.
+lockfile=str   Fio defaults to not doing any locking files before it does
+               IO to them. If a file or file descriptor is shared, fio
+               can serialize IO to that file to make the end result
+               consistent. This is usual for emulating real workloads that
+               share files. The lock modes are:
+
+                       none            No locking. The default.
+                       exclusive       Only one thread/process may do IO,
+                                       excluding all others.
+                       readwrite       Read-write locking on the file. Many
+                                       readers may access the file at the
+                                       same time, but writes get exclusive
+                                       access.
+
+               The option may be post-fixed with a lock batch number. If
+               set, then each thread/process may do that amount of IOs to
+               the file before giving up the lock. Since lock acqusition is
+               expensive, batching the lock/unlocks will speed up IO.
 
 readwrite=str
 rw=str         Type of io pattern. Accepted values are:
 
 readwrite=str
 rw=str         Type of io pattern. Accepted values are: