Skip to content

Commit cafe563

Browse files
author
Kent Overstreet
committed
bcache: A block layer cache
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 <[email protected]>
1 parent ea6749c commit cafe563

36 files changed

+16474
-0
lines changed
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
What: /sys/block/<disk>/bcache/unregister
2+
Date: November 2010
3+
Contact: Kent Overstreet <[email protected]>
4+
Description:
5+
A write to this file causes the backing device or cache to be
6+
unregistered. If a backing device had dirty data in the cache,
7+
writeback mode is automatically disabled and all dirty data is
8+
flushed before the device is unregistered. Caches unregister
9+
all associated backing devices before unregistering themselves.
10+
11+
What: /sys/block/<disk>/bcache/clear_stats
12+
Date: November 2010
13+
Contact: Kent Overstreet <[email protected]>
14+
Description:
15+
Writing to this file resets all the statistics for the device.
16+
17+
What: /sys/block/<disk>/bcache/cache
18+
Date: November 2010
19+
Contact: Kent Overstreet <[email protected]>
20+
Description:
21+
For a backing device that has cache, a symlink to
22+
the bcache/ dir of that cache.
23+
24+
What: /sys/block/<disk>/bcache/cache_hits
25+
Date: November 2010
26+
Contact: Kent Overstreet <[email protected]>
27+
Description:
28+
For backing devices: integer number of full cache hits,
29+
counted per bio. A partial cache hit counts as a miss.
30+
31+
What: /sys/block/<disk>/bcache/cache_misses
32+
Date: November 2010
33+
Contact: Kent Overstreet <[email protected]>
34+
Description:
35+
For backing devices: integer number of cache misses.
36+
37+
What: /sys/block/<disk>/bcache/cache_hit_ratio
38+
Date: November 2010
39+
Contact: Kent Overstreet <[email protected]>
40+
Description:
41+
For backing devices: cache hits as a percentage.
42+
43+
What: /sys/block/<disk>/bcache/sequential_cutoff
44+
Date: November 2010
45+
Contact: Kent Overstreet <[email protected]>
46+
Description:
47+
For backing devices: Threshold past which sequential IO will
48+
skip the cache. Read and written as bytes in human readable
49+
units (i.e. echo 10M > sequntial_cutoff).
50+
51+
What: /sys/block/<disk>/bcache/bypassed
52+
Date: November 2010
53+
Contact: Kent Overstreet <[email protected]>
54+
Description:
55+
Sum of all reads and writes that have bypassed the cache (due
56+
to the sequential cutoff). Expressed as bytes in human
57+
readable units.
58+
59+
What: /sys/block/<disk>/bcache/writeback
60+
Date: November 2010
61+
Contact: Kent Overstreet <[email protected]>
62+
Description:
63+
For backing devices: When on, writeback caching is enabled and
64+
writes will be buffered in the cache. When off, caching is in
65+
writethrough mode; reads and writes will be added to the
66+
cache but no write buffering will take place.
67+
68+
What: /sys/block/<disk>/bcache/writeback_running
69+
Date: November 2010
70+
Contact: Kent Overstreet <[email protected]>
71+
Description:
72+
For backing devices: when off, dirty data will not be written
73+
from the cache to the backing device. The cache will still be
74+
used to buffer writes until it is mostly full, at which point
75+
writes transparently revert to writethrough mode. Intended only
76+
for benchmarking/testing.
77+
78+
What: /sys/block/<disk>/bcache/writeback_delay
79+
Date: November 2010
80+
Contact: Kent Overstreet <[email protected]>
81+
Description:
82+
For backing devices: In writeback mode, when dirty data is
83+
written to the cache and the cache held no dirty data for that
84+
backing device, writeback from cache to backing device starts
85+
after this delay, expressed as an integer number of seconds.
86+
87+
What: /sys/block/<disk>/bcache/writeback_percent
88+
Date: November 2010
89+
Contact: Kent Overstreet <[email protected]>
90+
Description:
91+
For backing devices: If nonzero, writeback from cache to
92+
backing device only takes place when more than this percentage
93+
of the cache is used, allowing more write coalescing to take
94+
place and reducing total number of writes sent to the backing
95+
device. Integer between 0 and 40.
96+
97+
What: /sys/block/<disk>/bcache/synchronous
98+
Date: November 2010
99+
Contact: Kent Overstreet <[email protected]>
100+
Description:
101+
For a cache, a boolean that allows synchronous mode to be
102+
switched on and off. In synchronous mode all writes are ordered
103+
such that the cache can reliably recover from unclean shutdown;
104+
if disabled bcache will not generally wait for writes to
105+
complete but if the cache is not shut down cleanly all data
106+
will be discarded from the cache. Should not be turned off with
107+
writeback caching enabled.
108+
109+
What: /sys/block/<disk>/bcache/discard
110+
Date: November 2010
111+
Contact: Kent Overstreet <[email protected]>
112+
Description:
113+
For a cache, a boolean allowing discard/TRIM to be turned off
114+
or back on if the device supports it.
115+
116+
What: /sys/block/<disk>/bcache/bucket_size
117+
Date: November 2010
118+
Contact: Kent Overstreet <[email protected]>
119+
Description:
120+
For a cache, bucket size in human readable units, as set at
121+
cache creation time; should match the erase block size of the
122+
SSD for optimal performance.
123+
124+
What: /sys/block/<disk>/bcache/nbuckets
125+
Date: November 2010
126+
Contact: Kent Overstreet <[email protected]>
127+
Description:
128+
For a cache, the number of usable buckets.
129+
130+
What: /sys/block/<disk>/bcache/tree_depth
131+
Date: November 2010
132+
Contact: Kent Overstreet <[email protected]>
133+
Description:
134+
For a cache, height of the btree excluding leaf nodes (i.e. a
135+
one node tree will have a depth of 0).
136+
137+
What: /sys/block/<disk>/bcache/btree_cache_size
138+
Date: November 2010
139+
Contact: Kent Overstreet <[email protected]>
140+
Description:
141+
Number of btree buckets/nodes that are currently cached in
142+
memory; cache dynamically grows and shrinks in response to
143+
memory pressure from the rest of the system.
144+
145+
What: /sys/block/<disk>/bcache/written
146+
Date: November 2010
147+
Contact: Kent Overstreet <[email protected]>
148+
Description:
149+
For a cache, total amount of data in human readable units
150+
written to the cache, excluding all metadata.
151+
152+
What: /sys/block/<disk>/bcache/btree_written
153+
Date: November 2010
154+
Contact: Kent Overstreet <[email protected]>
155+
Description:
156+
For a cache, sum of all btree writes in human readable units.

0 commit comments

Comments
 (0)