@@ -28,51 +28,16 @@ Overview of supplied cache replacement policies
2828multiqueue (mq)
2929---------------
3030
31- This policy has been deprecated in favor of the smq policy (see below).
31+ This policy is now an alias for smq (see below).
3232
33- The multiqueue policy has three sets of 16 queues: one set for entries
34- waiting for the cache and another two for those in the cache (a set for
35- clean entries and a set for dirty entries).
33+ The following tunables are accepted, but have no effect:
3634
37- Cache entries in the queues are aged based on logical time. Entry into
38- the cache is based on variable thresholds and queue selection is based
39- on hit count on entry. The policy aims to take different cache miss
40- costs into account and to adjust to varying load patterns automatically.
41-
42- Message and constructor argument pairs are:
4335 'sequential_threshold <#nr_sequential_ios>'
4436 'random_threshold <#nr_random_ios>'
4537 'read_promote_adjustment <value>'
4638 'write_promote_adjustment <value>'
4739 'discard_promote_adjustment <value>'
4840
49- The sequential threshold indicates the number of contiguous I/Os
50- required before a stream is treated as sequential. Once a stream is
51- considered sequential it will bypass the cache. The random threshold
52- is the number of intervening non-contiguous I/Os that must be seen
53- before the stream is treated as random again.
54-
55- The sequential and random thresholds default to 512 and 4 respectively.
56-
57- Large, sequential I/Os are probably better left on the origin device
58- since spindles tend to have good sequential I/O bandwidth. The
59- io_tracker counts contiguous I/Os to try to spot when the I/O is in one
60- of these sequential modes. But there are use-cases for wanting to
61- promote sequential blocks to the cache (e.g. fast application startup).
62- If sequential threshold is set to 0 the sequential I/O detection is
63- disabled and sequential I/O will no longer implicitly bypass the cache.
64- Setting the random threshold to 0 does _not_ disable the random I/O
65- stream detection.
66-
67- Internally the mq policy determines a promotion threshold. If the hit
68- count of a block not in the cache goes above this threshold it gets
69- promoted to the cache. The read, write and discard promote adjustment
70- tunables allow you to tweak the promotion threshold by adding a small
71- value based on the io type. They default to 4, 8 and 1 respectively.
72- If you're trying to quickly warm a new cache device you may wish to
73- reduce these to encourage promotion. Remember to switch them back to
74- their defaults after the cache fills though.
75-
7641Stochastic multiqueue (smq)
7742---------------------------
7843
0 commit comments