X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=HOWTO;h=3d9229338a11c9628f18d61a2a13e6cdc8b1c263;hp=3d6b354b87b7df40f723c497ab82b1424cd287f6;hb=4d4e80f2b4260f2c8b37a8612ce655502a799f7a;hpb=1d2af02a16fc3c3561c994be4de887b926b2b774 diff --git a/HOWTO b/HOWTO index 3d6b354b..3d922933 100644 --- a/HOWTO +++ b/HOWTO @@ -219,6 +219,25 @@ 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. +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: @@ -344,7 +363,7 @@ ioengine=str Defines how the job issues io to the file. The following psync Basic pread(2) or pwrite(2) io. - vsync Basic readv(2) or writev(3) IO. + vsync Basic readv(2) or writev(2) IO. libaio Linux native asynchronous io. @@ -383,7 +402,10 @@ ioengine=str Defines how the job issues io to the file. The following cycles according to the cpuload= and cpucycle= options. Setting cpuload=85 will cause that job to do nothing but burn - 85% of the CPU. + 85% of the CPU. In case of SMP machines, + use numjobs= to get desired CPU + usage, as the cpuload only loads a single + CPU at the desired rate. guasi The GUASI IO engine is the Generic Userspace Asyncronous Syscall Interface approach