 488991e28e
			
		
	
	
	488991e28e
	
	
	
		
			
			Updated 'nomerges' tunable to accept a value of '2' - indicating that _no_ merges at all are to be attempted (not even the simple one-hit cache). The following table illustrates the additional benefit - 5 minute runs of a random I/O load were applied to a dozen devices on a 16-way x86_64 system. nomerges Throughput %System Improvement (tput / %sys) -------- ------------ ----------- ------------------------- 0 12.45 MB/sec 0.669365609 1 12.50 MB/sec 0.641519199 0.40% / 2.71% 2 12.52 MB/sec 0.639849750 0.56% / 2.96% Signed-off-by: Alan D. Brunelle <alan.brunelle@hp.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
		
			
				
	
	
		
			144 lines
		
	
	
	
		
			5.2 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
	
		
			5.2 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| What:		/sys/block/<disk>/stat
 | |
| Date:		February 2008
 | |
| Contact:	Jerome Marchand <jmarchan@redhat.com>
 | |
| Description:
 | |
| 		The /sys/block/<disk>/stat files displays the I/O
 | |
| 		statistics of disk <disk>. They contain 11 fields:
 | |
| 		 1 - reads completed successfully
 | |
| 		 2 - reads merged
 | |
| 		 3 - sectors read
 | |
| 		 4 - time spent reading (ms)
 | |
| 		 5 - writes completed
 | |
| 		 6 - writes merged
 | |
| 		 7 - sectors written
 | |
| 		 8 - time spent writing (ms)
 | |
| 		 9 - I/Os currently in progress
 | |
| 		10 - time spent doing I/Os (ms)
 | |
| 		11 - weighted time spent doing I/Os (ms)
 | |
| 		For more details refer Documentation/iostats.txt
 | |
| 
 | |
| 
 | |
| What:		/sys/block/<disk>/<part>/stat
 | |
| Date:		February 2008
 | |
| Contact:	Jerome Marchand <jmarchan@redhat.com>
 | |
| Description:
 | |
| 		The /sys/block/<disk>/<part>/stat files display the
 | |
| 		I/O statistics of partition <part>. The format is the
 | |
| 		same as the above-written /sys/block/<disk>/stat
 | |
| 		format.
 | |
| 
 | |
| 
 | |
| What:		/sys/block/<disk>/integrity/format
 | |
| Date:		June 2008
 | |
| Contact:	Martin K. Petersen <martin.petersen@oracle.com>
 | |
| Description:
 | |
| 		Metadata format for integrity capable block device.
 | |
| 		E.g. T10-DIF-TYPE1-CRC.
 | |
| 
 | |
| 
 | |
| What:		/sys/block/<disk>/integrity/read_verify
 | |
| Date:		June 2008
 | |
| Contact:	Martin K. Petersen <martin.petersen@oracle.com>
 | |
| Description:
 | |
| 		Indicates whether the block layer should verify the
 | |
| 		integrity of read requests serviced by devices that
 | |
| 		support sending integrity metadata.
 | |
| 
 | |
| 
 | |
| What:		/sys/block/<disk>/integrity/tag_size
 | |
| Date:		June 2008
 | |
| Contact:	Martin K. Petersen <martin.petersen@oracle.com>
 | |
| Description:
 | |
| 		Number of bytes of integrity tag space available per
 | |
| 		512 bytes of data.
 | |
| 
 | |
| 
 | |
| What:		/sys/block/<disk>/integrity/write_generate
 | |
| Date:		June 2008
 | |
| Contact:	Martin K. Petersen <martin.petersen@oracle.com>
 | |
| Description:
 | |
| 		Indicates whether the block layer should automatically
 | |
| 		generate checksums for write requests bound for
 | |
| 		devices that support receiving integrity metadata.
 | |
| 
 | |
| What:		/sys/block/<disk>/alignment_offset
 | |
| Date:		April 2009
 | |
| Contact:	Martin K. Petersen <martin.petersen@oracle.com>
 | |
| Description:
 | |
| 		Storage devices may report a physical block size that is
 | |
| 		bigger than the logical block size (for instance a drive
 | |
| 		with 4KB physical sectors exposing 512-byte logical
 | |
| 		blocks to the operating system).  This parameter
 | |
| 		indicates how many bytes the beginning of the device is
 | |
| 		offset from the disk's natural alignment.
 | |
| 
 | |
| What:		/sys/block/<disk>/<partition>/alignment_offset
 | |
| Date:		April 2009
 | |
| Contact:	Martin K. Petersen <martin.petersen@oracle.com>
 | |
| Description:
 | |
| 		Storage devices may report a physical block size that is
 | |
| 		bigger than the logical block size (for instance a drive
 | |
| 		with 4KB physical sectors exposing 512-byte logical
 | |
| 		blocks to the operating system).  This parameter
 | |
| 		indicates how many bytes the beginning of the partition
 | |
| 		is offset from the disk's natural alignment.
 | |
| 
 | |
| What:		/sys/block/<disk>/queue/logical_block_size
 | |
| Date:		May 2009
 | |
| Contact:	Martin K. Petersen <martin.petersen@oracle.com>
 | |
| Description:
 | |
| 		This is the smallest unit the storage device can
 | |
| 		address.  It is typically 512 bytes.
 | |
| 
 | |
| 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 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 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 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.
 | |
| 
 | |
| What:		/sys/block/<disk>/queue/nomerges
 | |
| Date:		January 2010
 | |
| Contact:
 | |
| Description:
 | |
| 		Standard I/O elevator operations include attempts to
 | |
| 		merge contiguous I/Os. For known random I/O loads these
 | |
| 		attempts will always fail and result in extra cycles
 | |
| 		being spent in the kernel. This allows one to turn off
 | |
| 		this behavior on one of two ways: When set to 1, complex
 | |
| 		merge checks are disabled, but the simple one-shot merges
 | |
| 		with the previous I/O request are enabled. When set to 2,
 | |
| 		all merge tries are disabled. The default value is 0 -
 | |
| 		which enables all types of merge tries.
 |