bcache & btrfs: "Btrfs detected SSD devices, enabling SSD mode"
This may be known already, but I noticed the following message in syslog during boot:
Btrfs detected SSD devices, enabling SSD mode
Btrfs is right in a sense: there is a SSD involved, but there's a HDD as well. I don't think it is an issue, but I have no idea how "btrfs' SSD optimizations" will interact with bcache. Might be interesting.
Rolf
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 8 lines
This may be known already, but I noticed the following message in syslog during boot:
Btrfs detected SSD devices, enabling SSD mode
Btrfs is right in a sense: there is a SSD involved, but there's a HDD as well. I don't think it is an issue, but I have no idea how "btrfs' SSD optimizations" will interact with bcache. Might be interesting.
From https://btrfs.wiki.kernel.org/ :
Quoted 1 line
SSD […] optimizations (e.g. avoiding unnecessary seek optimizations,
sending writes in clusters, even if they are from unrelated files. This results in larger write operations and faster write throughput)
The optimisations should be beneficial iff bcache is used in writeback mode. ssd_spread and discard are enabled separately; I'm not sure what ssd_spread (from the wiki: more strict about finding a large unused region of the disk for new allocations) would do for bcache.
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 8 lines · Gabriel de Perthuis
SSD […] optimizations (e.g. avoiding unnecessary seek optimizations, sending writes in clusters, even if they are from unrelated files. This results in larger write operations and faster write throughput)
The optimisations should be beneficial iff bcache is used in writeback mode.
ssd_spreadand discard are enabled separately; I'm not sure whatssd_spread(from the wiki: more strict about finding a large unused region of the disk for new allocations) would do for bcache.
From observing iostat I have the impression that bcache sometimes bypasses the cache, probably related to sequential_cutoff. Seems like btrfs tries to cluster writes (because an SSD is detected) and next bcache bypasses the SSD (because the writes are clustered). Doesn't seem the right kind of cooperation :-)
(Assuming of course that clustered writes are based on sequential writes)