aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/block
diff options
context:
space:
mode:
authorLeonid V. Fedorenchik <leonidsbox@gmail.com>2015-03-13 16:53:22 -0400
committerJonathan Corbet <corbet@lwn.net>2015-03-20 09:41:56 -0400
commit8962786ce3d91003bdd3f7c6bda2ee3641d66770 (patch)
tree6f7f2753b75190324afbeab498d43a38c9442e6f /Documentation/block
parentd50ca07863eb42ab5acb11ae6b2241c3db875061 (diff)
Documentation: Remove mentioning of block barriers
Remove mentioning of block barriers since they were removed. Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/block')
-rw-r--r--Documentation/block/biodoc.txt36
1 files changed, 9 insertions, 27 deletions
diff --git a/Documentation/block/biodoc.txt b/Documentation/block/biodoc.txt
index 5aabc08de811..fd12c0d835fd 100644
--- a/Documentation/block/biodoc.txt
+++ b/Documentation/block/biodoc.txt
@@ -48,8 +48,7 @@ Description of Contents:
48 - Highmem I/O support 48 - Highmem I/O support
49 - I/O scheduler modularization 49 - I/O scheduler modularization
50 1.2 Tuning based on high level requirements/capabilities 50 1.2 Tuning based on high level requirements/capabilities
51 1.2.1 I/O Barriers 51 1.2.1 Request Priority/Latency
52 1.2.2 Request Priority/Latency
53 1.3 Direct access/bypass to lower layers for diagnostics and special 52 1.3 Direct access/bypass to lower layers for diagnostics and special
54 device operations 53 device operations
55 1.3.1 Pre-built commands 54 1.3.1 Pre-built commands
@@ -255,29 +254,12 @@ some control over i/o ordering.
255What kind of support exists at the generic block layer for this ? 254What kind of support exists at the generic block layer for this ?
256 255
257The flags and rw fields in the bio structure can be used for some tuning 256The flags and rw fields in the bio structure can be used for some tuning
258from above e.g indicating that an i/o is just a readahead request, or for 257from above e.g indicating that an i/o is just a readahead request, or priority
259marking barrier requests (discussed next), or priority settings (currently 258settings (currently unused). As far as user applications are concerned they
260unused). As far as user applications are concerned they would need an 259would need an additional mechanism either via open flags or ioctls, or some
261additional mechanism either via open flags or ioctls, or some other upper 260other upper level mechanism to communicate such settings to block.
262level mechanism to communicate such settings to block. 261
263 2621.2.1 Request Priority/Latency
2641.2.1 I/O Barriers
265
266There is a way to enforce strict ordering for i/os through barriers.
267All requests before a barrier point must be serviced before the barrier
268request and any other requests arriving after the barrier will not be
269serviced until after the barrier has completed. This is useful for higher
270level control on write ordering, e.g flushing a log of committed updates
271to disk before the corresponding updates themselves.
272
273A flag in the bio structure, BIO_BARRIER is used to identify a barrier i/o.
274The generic i/o scheduler would make sure that it places the barrier request and
275all other requests coming after it after all the previous requests in the
276queue. Barriers may be implemented in different ways depending on the
277driver. For more details regarding I/O barriers, please read barrier.txt
278in this directory.
279
2801.2.2 Request Priority/Latency
281 263
282Todo/Under discussion: 264Todo/Under discussion:
283Arjan's proposed request priority scheme allows higher levels some broad 265Arjan's proposed request priority scheme allows higher levels some broad
@@ -906,8 +888,8 @@ queue and specific I/O schedulers. Unless stated otherwise, elevator is used
906to refer to both parts and I/O scheduler to specific I/O schedulers. 888to refer to both parts and I/O scheduler to specific I/O schedulers.
907 889
908Block layer implements generic dispatch queue in block/*.c. 890Block layer implements generic dispatch queue in block/*.c.
909The generic dispatch queue is responsible for properly ordering barrier 891The generic dispatch queue is responsible for requeueing, handling non-fs
910requests, requeueing, handling non-fs requests and all other subtleties. 892requests and all other subtleties.
911 893
912Specific I/O schedulers are responsible for ordering normal filesystem 894Specific I/O schedulers are responsible for ordering normal filesystem
913requests. They can also choose to delay certain requests to improve 895requests. They can also choose to delay certain requests to improve