X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=HOWTO;h=a534aa865d8c4a9384ebee3d823ecaaaf0fdfb3d;hp=d3ead19782796af8dc5b0b496a65318cc3bcf210;hb=1e7f82e20c088e3f564ad24e37bb873b7ac37d3a;hpb=b638d82f882bd8c15cc933ee0b8fa684308e7855 diff --git a/HOWTO b/HOWTO index d3ead197..a534aa86 100644 --- a/HOWTO +++ b/HOWTO @@ -812,8 +812,10 @@ iodepth_batch_submit=int iodepth_batch=int This defines how many pieces of IO to submit at once. It defaults to 1 which means that we submit each IO as soon as it is available, but can be raised to submit - bigger batches of IO at the time. + bigger batches of IO at the time. If it is set to 0 the iodepth + value will be used. +iodepth_batch_complete_min=int iodepth_batch_complete=int This defines how many pieces of IO to retrieve at once. It defaults to 1 which means that we'll ask for a minimum of 1 IO in the retrieval process from @@ -823,6 +825,31 @@ iodepth_batch_complete=int This defines how many pieces of IO to retrieve events before queuing more IO. This helps reduce IO latency, at the cost of more retrieval system calls. +iodepth_batch_complete_max=int This defines maximum pieces of IO to + retrieve at once. This variable should be used along with + iodepth_batch_complete_min=int variable, specifying the range + of min and max amount of IO which should be retrieved. By default + it is equal to iodepth_batch_complete_min value. + + Example #1: + + iodepth_batch_complete_min=1 + iodepth_batch_complete_max= + + which means that we will retrieve at leat 1 IO and up to the + whole submitted queue depth. If none of IO has been completed + yet, we will wait. + + Example #2: + + iodepth_batch_complete_min=0 + iodepth_batch_complete_max= + + which means that we can retrieve up to the whole submitted + queue depth, but if none of IO has been completed yet, we will + NOT wait and immediately exit the system call. In this example + we simply do polling. + iodepth_low=int The low water mark indicating when to start filling the queue again. Defaults to the same as iodepth, meaning that fio will attempt to keep the queue full at all times. @@ -1022,7 +1049,7 @@ rate=int Cap the bandwidth used by this job. The number is in bytes/sec, will only limit writes (to 500KB/sec), the latter will only limit reads. -ratemin=int Tell fio to do whatever it can to maintain at least this +rate_min=int Tell fio to do whatever it can to maintain at least this bandwidth. Failing to meet this requirement, will cause the job to exit. The same format as rate is used for read vs write separation. @@ -1037,6 +1064,15 @@ rate_iops_min=int If fio doesn't meet this rate of IO, it will cause the job to exit. The same format as rate is used for read vs write separation. +rate_process=str This option controls how fio manages rated IO + submissions. The default is 'linear', which submits IO in a + linear fashion with fixed delays between IOs that gets + adjusted based on IO completion rates. If this is set to + 'poisson', fio will submit IO based on a more real world + random request flow, known as the Poisson process + (https://en.wikipedia.org/wiki/Poisson_process). The lambda + will be 10^6 / IOPS for the given workload. + latency_target=int If set, fio will attempt to find the max performance point that the given workload will run at while maintaining a latency below this target. The values is given in microseconds. @@ -1054,7 +1090,7 @@ latency_percentile=float The percentage of IOs that must fall within the max_latency=int If set, fio will exit the job if it exceeds this maximum latency. It will exit with an ETIME error. -ratecycle=int Average bandwidth for 'rate' and 'ratemin' over this number +rate_cycle=int Average bandwidth for 'rate' and 'rate_min' over this number of milliseconds. cpumask=int Set the CPU affinity of this job. The parameter given is a @@ -1150,6 +1186,9 @@ mem=str Fio can use various types of memory as the io unit buffer. backing. Append filename after mmaphuge, ala mem=mmaphuge:/hugetlbfs/file + mmapshared Same as mmap, but use a MMAP_SHARED + mapping. + The area allocated is a function of the maximum allowed bs size for the job, multiplied by the io depth given. Note that for shmhuge and mmaphuge to work, the system must have