Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e5f5fb0 authored by Martin K. Petersen's avatar Martin K. Petersen Committed by Jens Axboe
Browse files

block: Update topology documentation



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

Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent 70dd5bf3
Loading
Loading
Loading
Loading
+23 −14
Original line number Diff line number Diff line
@@ -94,28 +94,37 @@ What: /sys/block/<disk>/queue/physical_block_size
Date:		May 2009
Contact:	Martin K. Petersen <martin.petersen@oracle.com>
Description:
		This is the smallest unit the storage device can write
		without resorting to read-modify-write operation.  It is
		usually the same as the logical block size but may be
		bigger.  One example is SATA drives with 4KB sectors
		that expose a 512-byte logical block size to the
		operating system.
		This is the smallest unit a physical storage device can
		write atomically.  It is usually the same as the logical
		block size but may be bigger.  One example is SATA
		drives with 4KB sectors that expose a 512-byte logical
		block size to the operating system.  For stacked block
		devices the physical_block_size variable contains the
		maximum physical_block_size of the component devices.

What:		/sys/block/<disk>/queue/minimum_io_size
Date:		April 2009
Contact:	Martin K. Petersen <martin.petersen@oracle.com>
Description:
		Storage devices may report a preferred minimum I/O size,
		which is the smallest request the device can perform
		without incurring a read-modify-write penalty.  For disk
		drives this is often the physical block size.  For RAID
		arrays it is often the stripe chunk size.
		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.

What:		/sys/block/<disk>/queue/optimal_io_size
Date:		April 2009
Contact:	Martin K. Petersen <martin.petersen@oracle.com>
Description:
		Storage devices may report an optimal I/O size, which is
		the device's preferred unit of receiving I/O.  This is
		rarely reported for disk drives.  For RAID devices it is
		usually the stripe width or the internal block size.
		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.  If no optimal I/O size is
		reported this file contains 0.
+13 −6
Original line number Diff line number Diff line
@@ -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)
{