aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/device-mapper/cache-policies.txt
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/cache-policies.txt
parentdm cache policy mq: tweak algorithm that decides when to promote a block (diff)
downloadlinux-dev-f1afb36a6102b52949c2c6d8eb250eddcce3fc5f.tar.xz
linux-dev-f1afb36a6102b52949c2c6d8eb250eddcce3fc5f.zip
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/cache-policies.txt')
-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:
'discard_promote_adjustment <value>'
The sequential threshold indicates the number of contiguous I/Os
-required before a stream is treated as sequential. The random threshold
+required before a stream is treated as sequential. Once a stream is
+considered sequential it will bypass the cache. The random threshold
is the number of intervening non-contiguous I/Os that must be seen
before the stream is treated as random again.
The sequential and random thresholds default to 512 and 4 respectively.
-Large, sequential ios are probably better left on the origin device
-since spindles tend to have good bandwidth. The io_tracker counts
-contiguous I/Os to try to spot when the io is in one of these sequential
-modes.
+Large, sequential I/Os are probably better left on the origin device
+since spindles tend to have good sequential I/O bandwidth. The
+io_tracker counts contiguous I/Os to try to spot when the I/O is in one
+of these sequential modes. But there are use-cases for wanting to
+promote sequential blocks to the cache (e.g. fast application startup).
+If sequential threshold is set to 0 the sequential I/O detection is
+disabled and sequential I/O will no longer implicitly bypass the cache.
+Setting the random threshold to 0 does _not_ disable the random I/O
+stream detection.
Internally the mq policy determines a promotion threshold. If the hit
count of a block not in the cache goes above this threshold it gets