X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=HOWTO;h=3d9229338a11c9628f18d61a2a13e6cdc8b1c263;hp=a20f7141e63593dd8ed54b696ab80c92e28695a4;hb=e8670ef8b26039573fbf835b4b95ba45a1039d83;hpb=89e820f6833fd6ea36625aa9393f1559f2d881dd diff --git a/HOWTO b/HOWTO index a20f7141..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,6 +363,8 @@ 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(2) IO. + libaio Linux native asynchronous io. posixaio glibc posix asynchronous io. @@ -381,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