Commit 7e5f5fb09e6fc657f21816b5a18ba645a913368e

Authored by Martin K. Petersen
Committed by Jens Axboe
1 parent 70dd5bf3b9

block: Update topology documentation

Update topology comments and sysfs documentation based upon discussions
with Neil Brown.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

Showing 2 changed files with 36 additions and 20 deletions Side-by-side Diff

Documentation/ABI/testing/sysfs-block
... ... @@ -94,29 +94,38 @@
94 94 Date: May 2009
95 95 Contact: Martin K. Petersen <martin.petersen@oracle.com>
96 96 Description:
97   - This is the smallest unit the storage device can write
98   - without resorting to read-modify-write operation. It is
99   - usually the same as the logical block size but may be
100   - bigger. One example is SATA drives with 4KB sectors
101   - that expose a 512-byte logical block size to the
102   - operating system.
  97 + This is the smallest unit a physical storage device can
  98 + write atomically. It is usually the same as the logical
  99 + block size but may be bigger. One example is SATA
  100 + drives with 4KB sectors that expose a 512-byte logical
  101 + block size to the operating system. For stacked block
  102 + devices the physical_block_size variable contains the
  103 + maximum physical_block_size of the component devices.
103 104  
104 105 What: /sys/block/<disk>/queue/minimum_io_size
105 106 Date: April 2009
106 107 Contact: Martin K. Petersen <martin.petersen@oracle.com>
107 108 Description:
108   - Storage devices may report a preferred minimum I/O size,
109   - which is the smallest request the device can perform
110   - without incurring a read-modify-write penalty. For disk
111   - drives this is often the physical block size. For RAID
112   - arrays it is often the stripe chunk size.
  109 + Storage devices may report a granularity or preferred
  110 + minimum I/O size which is the smallest request the
  111 + device can perform without incurring a performance
  112 + penalty. For disk drives this is often the physical
  113 + block size. For RAID arrays it is often the stripe
  114 + chunk size. A properly aligned multiple of
  115 + minimum_io_size is the preferred request size for
  116 + workloads where a high number of I/O operations is
  117 + desired.
113 118  
114 119 What: /sys/block/<disk>/queue/optimal_io_size
115 120 Date: April 2009
116 121 Contact: Martin K. Petersen <martin.petersen@oracle.com>
117 122 Description:
118 123 Storage devices may report an optimal I/O size, which is
119   - the device's preferred unit of receiving I/O. This is
120   - rarely reported for disk drives. For RAID devices it is
121   - usually the stripe width or the internal block size.
  124 + the device's preferred unit for sustained I/O. This is
  125 + rarely reported for disk drives. For RAID arrays it is
  126 + usually the stripe width or the internal track size. A
  127 + properly aligned multiple of optimal_io_size is the
  128 + preferred request size for workloads where sustained
  129 + throughput is desired. If no optimal I/O size is
  130 + reported this file contains 0.
block/blk-settings.c
... ... @@ -413,10 +413,13 @@
413 413 * @min: smallest I/O size in bytes
414 414 *
415 415 * Description:
416   - * Some devices have an internal block size bigger than the reported
417   - * hardware sector size. This function can be used to signal the
418   - * smallest I/O the device can perform without incurring a performance
419   - * penalty.
  416 + * Storage devices may report a granularity or preferred minimum I/O
  417 + * size which is the smallest request the device can perform without
  418 + * incurring a performance penalty. For disk drives this is often the
  419 + * physical block size. For RAID arrays it is often the stripe chunk
  420 + * size. A properly aligned multiple of minimum_io_size is the
  421 + * preferred request size for workloads where a high number of I/O
  422 + * operations is desired.
420 423 */
421 424 void blk_queue_io_min(struct request_queue *q, unsigned int min)
422 425 {
... ... @@ -430,8 +433,12 @@
430 433 * @opt: optimal request size in bytes
431 434 *
432 435 * Description:
433   - * Drivers can call this function to set the preferred I/O request
434   - * size for devices that report such a value.
  436 + * Storage devices may report an optimal I/O size, which is the
  437 + * device's preferred unit for sustained I/O. This is rarely reported
  438 + * for disk drives. For RAID arrays it is usually the stripe width or
  439 + * the internal track size. A properly aligned multiple of
  440 + * optimal_io_size is the preferred request size for workloads where
  441 + * sustained throughput is desired.
435 442 */
436 443 void blk_queue_io_opt(struct request_queue *q, unsigned int opt)
437 444 {