mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	Does writethrough and writeback caching, handles unclean shutdown, and has a bunch of other nifty features motivated by real world usage. See the wiki at http://bcache.evilpiepirate.org for more. Signed-off-by: Kent Overstreet <koverstreet@google.com>
		
			
				
	
	
		
			156 lines
		
	
	
	
		
			5.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			156 lines
		
	
	
	
		
			5.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
What:		/sys/block/<disk>/bcache/unregister
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		A write to this file causes the backing device or cache to be
 | 
						|
		unregistered. If a backing device had dirty data in the cache,
 | 
						|
		writeback mode is automatically disabled and all dirty data is
 | 
						|
		flushed before the device is unregistered. Caches unregister
 | 
						|
		all associated backing devices before unregistering themselves.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/clear_stats
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		Writing to this file resets all the statistics for the device.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/cache
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For a backing device that has cache, a symlink to
 | 
						|
		the bcache/ dir of that cache.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/cache_hits
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For backing devices: integer number of full cache hits,
 | 
						|
		counted per bio. A partial cache hit counts as a miss.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/cache_misses
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For backing devices: integer number of cache misses.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/cache_hit_ratio
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For backing devices: cache hits as a percentage.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/sequential_cutoff
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For backing devices: Threshold past which sequential IO will
 | 
						|
		skip the cache. Read and written as bytes in human readable
 | 
						|
		units (i.e. echo 10M > sequntial_cutoff).
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/bypassed
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		Sum of all reads and writes that have bypassed the cache (due
 | 
						|
		to the sequential cutoff).  Expressed as bytes in human
 | 
						|
		readable units.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/writeback
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For backing devices: When on, writeback caching is enabled and
 | 
						|
		writes will be buffered in the cache. When off, caching is in
 | 
						|
		writethrough mode; reads and writes will be added to the
 | 
						|
		cache but no write buffering will take place.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/writeback_running
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For backing devices: when off, dirty data will not be written
 | 
						|
		from the cache to the backing device. The cache will still be
 | 
						|
		used to buffer writes until it is mostly full, at which point
 | 
						|
		writes transparently revert to writethrough mode. Intended only
 | 
						|
		for benchmarking/testing.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/writeback_delay
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For backing devices: In writeback mode, when dirty data is
 | 
						|
		written to the cache and the cache held no dirty data for that
 | 
						|
		backing device, writeback from cache to backing device starts
 | 
						|
		after this delay, expressed as an integer number of seconds.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/writeback_percent
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For backing devices: If nonzero, writeback from cache to
 | 
						|
		backing device only takes place when more than this percentage
 | 
						|
		of the cache is used, allowing more write coalescing to take
 | 
						|
		place and reducing total number of writes sent to the backing
 | 
						|
		device. Integer between 0 and 40.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/synchronous
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For a cache, a boolean that allows synchronous mode to be
 | 
						|
		switched on and off. In synchronous mode all writes are ordered
 | 
						|
		such that the cache can reliably recover from unclean shutdown;
 | 
						|
		if disabled bcache will not generally wait for writes to
 | 
						|
		complete but if the cache is not shut down cleanly all data
 | 
						|
		will be discarded from the cache. Should not be turned off with
 | 
						|
		writeback caching enabled.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/discard
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For a cache, a boolean allowing discard/TRIM to be turned off
 | 
						|
		or back on if the device supports it.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/bucket_size
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For a cache, bucket size in human readable units, as set at
 | 
						|
		cache creation time; should match the erase block size of the
 | 
						|
		SSD for optimal performance.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/nbuckets
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For a cache, the number of usable buckets.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/tree_depth
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For a cache, height of the btree excluding leaf nodes (i.e. a
 | 
						|
		one node tree will have a depth of 0).
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/btree_cache_size
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		Number of btree buckets/nodes that are currently cached in
 | 
						|
		memory; cache dynamically grows and shrinks in response to
 | 
						|
		memory pressure from the rest of the system.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/written
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For a cache, total amount of data in human readable units
 | 
						|
		written to the cache, excluding all metadata.
 | 
						|
 | 
						|
What:		/sys/block/<disk>/bcache/btree_written
 | 
						|
Date:		November 2010
 | 
						|
Contact:	Kent Overstreet <kent.overstreet@gmail.com>
 | 
						|
Description:
 | 
						|
		For a cache, sum of all btree writes in human readable units.
 |