Commit 2792d8719393a518a847769d36a080ade4273e6b

Authored by Namjae Jeon
Committed by Jens Axboe
1 parent 865826644e

Documentation: update tunable options in block/cfq-iosched.txt

Update tunable options in block/cfq-iosched.txt.

Signed-off-by: Namjae Jeon <linkinjeon@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>

Showing 1 changed file with 77 additions and 0 deletions Side-by-side Diff

Documentation/block/cfq-iosched.txt
  1 +CFQ (Complete Fairness Queueing)
  2 +===============================
  3 +
  4 +The main aim of CFQ scheduler is to provide a fair allocation of the disk
  5 +I/O bandwidth for all the processes which requests an I/O operation.
  6 +
  7 +CFQ maintains the per process queue for the processes which request I/O
  8 +operation(syncronous requests). In case of asynchronous requests, all the
  9 +requests from all the processes are batched together according to their
  10 +process's I/O priority.
  11 +
1 12 CFQ ioscheduler tunables
2 13 ========================
3 14  
... ... @@ -24,6 +35,72 @@
24 35 there are multiple spindles behind single LUN (Host based hardware RAID
25 36 controller or for storage arrays), setting slice_idle=0 might end up in better
26 37 throughput and acceptable latencies.
  38 +
  39 +back_seek_max
  40 +-------------
  41 +This specifies, given in Kbytes, the maximum "distance" for backward seeking.
  42 +The distance is the amount of space from the current head location to the
  43 +sectors that are backward in terms of distance.
  44 +
  45 +This parameter allows the scheduler to anticipate requests in the "backward"
  46 +direction and consider them as being the "next" if they are within this
  47 +distance from the current head location.
  48 +
  49 +back_seek_penalty
  50 +-----------------
  51 +This parameter is used to compute the cost of backward seeking. If the
  52 +backward distance of request is just 1/back_seek_penalty from a "front"
  53 +request, then the seeking cost of two requests is considered equivalent.
  54 +
  55 +So scheduler will not bias toward one or the other request (otherwise scheduler
  56 +will bias toward front request). Default value of back_seek_penalty is 2.
  57 +
  58 +fifo_expire_async
  59 +-----------------
  60 +This parameter is used to set the timeout of asynchronous requests. Default
  61 +value of this is 248ms.
  62 +
  63 +fifo_expire_sync
  64 +----------------
  65 +This parameter is used to set the timeout of synchronous requests. Default
  66 +value of this is 124ms. In case to favor synchronous requests over asynchronous
  67 +one, this value should be decreased relative to fifo_expire_async.
  68 +
  69 +slice_async
  70 +-----------
  71 +This parameter is same as of slice_sync but for asynchronous queue. The
  72 +default value is 40ms.
  73 +
  74 +slice_async_rq
  75 +--------------
  76 +This parameter is used to limit the dispatching of asynchronous request to
  77 +device request queue in queue's slice time. The maximum number of request that
  78 +are allowed to be dispatched also depends upon the io priority. Default value
  79 +for this is 2.
  80 +
  81 +slice_sync
  82 +----------
  83 +When a queue is selected for execution, the queues IO requests are only
  84 +executed for a certain amount of time(time_slice) before switching to another
  85 +queue. This parameter is used to calculate the time slice of synchronous
  86 +queue.
  87 +
  88 +time_slice is computed using the below equation:-
  89 +time_slice = slice_sync + (slice_sync/5 * (4 - prio)). To increase the
  90 +time_slice of synchronous queue, increase the value of slice_sync. Default
  91 +value is 100ms.
  92 +
  93 +quantum
  94 +-------
  95 +This specifies the number of request dispatched to the device queue. In a
  96 +queue's time slice, a request will not be dispatched if the number of request
  97 +in the device exceeds this parameter. This parameter is used for synchronous
  98 +request.
  99 +
  100 +In case of storage with several disk, this setting can limit the parallel
  101 +processing of request. Therefore, increasing the value can imporve the
  102 +performace although this can cause the latency of some I/O to increase due
  103 +to more number of requests.
27 104  
28 105 CFQ IOPS Mode for group scheduling
29 106 ===================================