summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorMartin K. Petersen <martin.petersen@oracle.com>2009-07-31 11:49:13 -0400
committerJens Axboe <jens.axboe@oracle.com>2009-08-01 10:24:35 +0200
commit7e5f5fb09e6fc657f21816b5a18ba645a913368e (patch)
tree90a60c56f3bdc8f40969bda9d87eb3d31a066b8e /block
parent70dd5bf3b99964d52862ad2810c24cc32a553535 (diff)
downloadlinux-7e5f5fb09e6fc657f21816b5a18ba645a913368e.tar.bz2
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>
Diffstat (limited to 'block')
-rw-r--r--block/blk-settings.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/block/blk-settings.c b/block/blk-settings.c
index e1327ddfc13b..476d87065073 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -413,10 +413,13 @@ EXPORT_SYMBOL(blk_limits_io_min);
* @min: smallest I/O size in bytes
*
* Description:
- * Some devices have an internal block size bigger than the reported
- * hardware sector size. This function can be used to signal the
- * smallest I/O the device can perform without incurring a performance
- * penalty.
+ * Storage devices may report a granularity or preferred minimum I/O
+ * size which is the smallest request the device can perform without
+ * incurring a performance penalty. For disk drives this is often the
+ * physical block size. For RAID arrays it is often the stripe chunk
+ * size. A properly aligned multiple of minimum_io_size is the
+ * preferred request size for workloads where a high number of I/O
+ * operations is desired.
*/
void blk_queue_io_min(struct request_queue *q, unsigned int min)
{
@@ -430,8 +433,12 @@ EXPORT_SYMBOL(blk_queue_io_min);
* @opt: optimal request size in bytes
*
* Description:
- * Drivers can call this function to set the preferred I/O request
- * size for devices that report such a value.
+ * Storage devices may report an optimal I/O size, which is the
+ * device's preferred unit for sustained I/O. This is rarely reported
+ * for disk drives. For RAID arrays it is usually the stripe width or
+ * the internal track size. A properly aligned multiple of
+ * optimal_io_size is the preferred request size for workloads where
+ * sustained throughput is desired.
*/
void blk_queue_io_opt(struct request_queue *q, unsigned int opt)
{