Lines Matching full:cache
2 A block layer cache (bcache)
6 nice if you could use them as cache... Hence bcache.
29 Writeback caching can use most of the cache for buffering writes - writing
38 thus entirely bypass the cache.
41 from disk or invalidating cache entries. For unrecoverable errors (meta data
43 in the cache it first disables writeback caching and waits for all dirty data
47 You'll need bcache util from the bcache-tools repository. Both the cache device
54 you format your backing devices and cache device at the same time, you won't
71 device, it'll be running in passthrough mode until you attach it to a cache.
73 slow devices as bcache backing devices without a cache, and you can choose to add
94 Cache devices are managed as sets; multiple caches per set isn't supported yet
96 cache set shows up as /sys/fs/bcache/<UUID>
101 After your cache device and backing device are registered, the backing device
102 must be attached to your cache set to enable caching. Attaching a backing
103 device to a cache set is done thusly, with the UUID of the cache set in
109 your bcache devices. If a backing device has data in a cache somewhere, the
110 /dev/bcache<N> device won't be created until the cache shows up - particularly
113 If you're booting up and your cache device is gone and never coming back, you
122 The backing device will still use that cache set if it shows up in the future,
124 cache, don't expect the filesystem to be recoverable - you will have massive
130 Bcache tries to transparently handle IO errors to/from the cache device without
132 configurable, and defaults to 0) it shuts down the cache device and switches all
135 - For reads from the cache, if they error we just retry the read from the
138 - For writethrough writes, if the write to the cache errors we just switch to
139 invalidating the data at that lba in the cache (i.e. the same thing we do for
140 a write that bypasses the cache)
144 that skips the cache so we don't have to error the write.
157 to force it to run without the cache::
164 start your bcache without its cache, like so::
171 B) Bcache does not find its cache::
176 [ 1933.478179] : cache set not found
206 If your cache is in writethrough mode, then you can safely discard the
207 cache device without losing data.
210 E) Wiping a cache device
218 After you boot back with bcache enabled, you recreate the cache and attach it::
231 [ 650.549228] bcache: register_cache() registered cache device sdh2
233 start backing device with missing cache::
237 attach new cache::
257 …kernel: [ 917.041908] bcache: cache_set_free() Cache set b7ba27a1-2398-4649-8ae3-0959f57ba128 unr…
294 bcache: cache_set_free() Cache set 5bc072a8-ab17-446d-9744-e247949913c1 unregistered
302 host:/sys/fs/bcache# ls -l */{cache?,bdev?}
308 and stop the cache::
353 By default, bcache doesn't cache everything. It tries to skip sequential IO -
356 accessed data out of your cache.
358 But if you want to benchmark reads from cache, and you start out with fio
367 - Traffic's still going to the spindle/still getting cache misses
374 To avoid that bcache tracks latency to the cache device, and gradually
380 # echo 0 > /sys/fs/bcache/<cache set>/congested_read_threshold_us
381 # echo 0 > /sys/fs/bcache/<cache set>/congested_write_threshold_us
385 - Still getting cache misses, of the same data
388 the way cache coherency is handled for cache misses. If a btree node is full,
389 a cache miss won't be able to insert a key for the new data and the data
390 won't be written to the cache.
396 benchmarking, if you're trying to warm the cache by reading a bunch of data
399 Solution: warm the cache by doing writes, or use the testing branch (there's
410 Echo the UUID of a cache set to this file to enable caching.
420 Write to this file to detach from a cache set. If there is dirty data in the
421 cache, it will be flushed first.
424 Amount of dirty data for this backing device in the cache. Continuously
425 updated unlike the cache set's version, but may be slightly off.
432 1M, it will round cache miss reads up to that size, but without overlapping
433 existing cache entries.
440 A sequential IO will bypass the cache once it passes this threshold; the
454 no cache: Has never been attached to a cache set.
456 clean: Part of a cache set, and there is no cached dirty data.
458 dirty: Part of a cache set, and there is cached dirty data.
461 dirty data cached but the cache set was unavailable; whatever data was on the
469 When dirty data is written to the cache and it previously did not contain
474 If nonzero, bcache tries to keep around this percentage of the cache dirty by
485 still be added to the cache until it is mostly full; only meant for
493 aggregated in the cache set directory as well.
496 Amount of IO (both reads and writes) that has bypassed the cache
503 Hits and misses for IO that is intended to skip the cache are still counted,
507 Counts instances where data was going to be inserted into the cache from a
508 cache miss, but raced with a write and data was already present (usually 0
509 since the synchronization for cache misses was rewritten)
511 Sysfs - cache set
523 Block size of the cache devices.
526 Amount of memory currently used by the btree cache
531 cache<0..n>
532 Symlink to each of the cache devices comprising this cache set.
535 Percentage of cache device which doesn't contain dirty data, and could
541 Clears the statistics associated with this cache
544 Amount of dirty data is in the cache (updated when garbage collection runs).
548 provisioned volume backed by the cache set.
551 These determines how many errors we accept before disabling the cache.
553 reaches io_error_limit dirty data is written out and the cache is disabled.
556 Journal writes will delay for up to this many milliseconds, unless a cache
564 Write to this file to shut down the cache set - waits until all attached
571 Detaches all backing devices and closes the cache devices; if dirty data is
574 Sysfs - cache set internal
594 Longest chain in the btree node cache's hash table
597 Counts instances where while data was being read from the cache, the bucket
604 Sysfs - Cache device
629 artificially reduce the size of the cache at runtime. Mostly for testing
642 Total buckets in this cache
645 Statistics about how recently data in the cache has been accessed.
647 the cache that doesn't contain any data. Metadata is bcache's
648 metadata overhead. Average is the average priority of cache buckets.
652 Sum of all data that has been written to the cache; comparison with