aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/device-mapper
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2014-10-30 10:02:01 -0400
committerMike Snitzer <snitzer@redhat.com>2014-11-10 15:25:30 -0500
commitf1afb36a6102b52949c2c6d8eb250eddcce3fc5f (patch)
treef8e7143d1118635d88c6989ebb80654c109756f9 /Documentation/device-mapper
parentb155aa0e5a81ea1f05ff7aced0ec8e34c980c19e (diff)
dm cache policy mq: simplify ability to promote sequential IO to the cache
Before, if the user wanted sequential IO to be promoted to the cache they'd have to set sequential_threshold to some nebulous large value. Now, the user may easily disable sequential IO detection (and sequential IO's implicit bypass of the cache) by setting sequential_threshold to 0. Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'Documentation/device-mapper')
-rw-r--r--Documentation/device-mapper/cache-policies.txt16
1 files changed, 11 insertions, 5 deletions
diff --git a/Documentation/device-mapper/cache-policies.txt b/Documentation/device-mapper/cache-policies.txt
index 7746e5dbfd40..0d124a971801 100644
--- a/Documentation/device-mapper/cache-policies.txt
+++ b/Documentation/device-mapper/cache-policies.txt
@@ -47,16 +47,22 @@ Message and constructor argument pairs are:
47 'discard_promote_adjustment <value>' 47 'discard_promote_adjustment <value>'
48 48
49The sequential threshold indicates the number of contiguous I/Os 49The sequential threshold indicates the number of contiguous I/Os
50required before a stream is treated as sequential. The random threshold 50required before a stream is treated as sequential. Once a stream is
51considered sequential it will bypass the cache. The random threshold
51is the number of intervening non-contiguous I/Os that must be seen 52is the number of intervening non-contiguous I/Os that must be seen
52before the stream is treated as random again. 53before the stream is treated as random again.
53 54
54The sequential and random thresholds default to 512 and 4 respectively. 55The sequential and random thresholds default to 512 and 4 respectively.
55 56
56Large, sequential ios are probably better left on the origin device 57Large, sequential I/Os are probably better left on the origin device
57since spindles tend to have good bandwidth. The io_tracker counts 58since spindles tend to have good sequential I/O bandwidth. The
58contiguous I/Os to try to spot when the io is in one of these sequential 59io_tracker counts contiguous I/Os to try to spot when the I/O is in one
59modes. 60of these sequential modes. But there are use-cases for wanting to
61promote sequential blocks to the cache (e.g. fast application startup).
62If sequential threshold is set to 0 the sequential I/O detection is
63disabled and sequential I/O will no longer implicitly bypass the cache.
64Setting the random threshold to 0 does _not_ disable the random I/O
65stream detection.
60 66
61Internally the mq policy determines a promotion threshold. If the hit 67Internally the mq policy determines a promotion threshold. If the hit
62count of a block not in the cache goes above this threshold it gets 68count of a block not in the cache goes above this threshold it gets