diff options
author | Leonid V. Fedorenchik <leonidsbox@gmail.com> | 2015-03-13 16:53:22 -0400 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2015-03-20 09:41:56 -0400 |
commit | 8962786ce3d91003bdd3f7c6bda2ee3641d66770 (patch) | |
tree | 6f7f2753b75190324afbeab498d43a38c9442e6f /Documentation/block | |
parent | d50ca07863eb42ab5acb11ae6b2241c3db875061 (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.txt | 36 |
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. | |||
255 | What kind of support exists at the generic block layer for this ? | 254 | What kind of support exists at the generic block layer for this ? |
256 | 255 | ||
257 | The flags and rw fields in the bio structure can be used for some tuning | 256 | The flags and rw fields in the bio structure can be used for some tuning |
258 | from above e.g indicating that an i/o is just a readahead request, or for | 257 | from above e.g indicating that an i/o is just a readahead request, or priority |
259 | marking barrier requests (discussed next), or priority settings (currently | 258 | settings (currently unused). As far as user applications are concerned they |
260 | unused). As far as user applications are concerned they would need an | 259 | would need an additional mechanism either via open flags or ioctls, or some |
261 | additional mechanism either via open flags or ioctls, or some other upper | 260 | other upper level mechanism to communicate such settings to block. |
262 | level mechanism to communicate such settings to block. | 261 | |
263 | 262 | 1.2.1 Request Priority/Latency | |
264 | 1.2.1 I/O Barriers | ||
265 | |||
266 | There is a way to enforce strict ordering for i/os through barriers. | ||
267 | All requests before a barrier point must be serviced before the barrier | ||
268 | request and any other requests arriving after the barrier will not be | ||
269 | serviced until after the barrier has completed. This is useful for higher | ||
270 | level control on write ordering, e.g flushing a log of committed updates | ||
271 | to disk before the corresponding updates themselves. | ||
272 | |||
273 | A flag in the bio structure, BIO_BARRIER is used to identify a barrier i/o. | ||
274 | The generic i/o scheduler would make sure that it places the barrier request and | ||
275 | all other requests coming after it after all the previous requests in the | ||
276 | queue. Barriers may be implemented in different ways depending on the | ||
277 | driver. For more details regarding I/O barriers, please read barrier.txt | ||
278 | in this directory. | ||
279 | |||
280 | 1.2.2 Request Priority/Latency | ||
281 | 263 | ||
282 | Todo/Under discussion: | 264 | Todo/Under discussion: |
283 | Arjan's proposed request priority scheme allows higher levels some broad | 265 | Arjan'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 | |||
906 | to refer to both parts and I/O scheduler to specific I/O schedulers. | 888 | to refer to both parts and I/O scheduler to specific I/O schedulers. |
907 | 889 | ||
908 | Block layer implements generic dispatch queue in block/*.c. | 890 | Block layer implements generic dispatch queue in block/*.c. |
909 | The generic dispatch queue is responsible for properly ordering barrier | 891 | The generic dispatch queue is responsible for requeueing, handling non-fs |
910 | requests, requeueing, handling non-fs requests and all other subtleties. | 892 | requests and all other subtleties. |
911 | 893 | ||
912 | Specific I/O schedulers are responsible for ordering normal filesystem | 894 | Specific I/O schedulers are responsible for ordering normal filesystem |
913 | requests. They can also choose to delay certain requests to improve | 895 | requests. They can also choose to delay certain requests to improve |