
Chris Samuel <chris@csamuel.org> writes:
On 09/11/12 11:07, Trent W. Buck wrote:
Also ssd_sparse IIRC, for a different flavour of FTL. It's not very clear to me how to know which of the two to use.
Aha, ssd_spread, looks like it's meant for lower grade SSD's.
What does that actually mean in practice, though? Once upon a time, it was intel, or <everything else>. Even if you can determine that your OCZ Vertex NN runs a Sandforce MM chipset, which do you use? Maybe the rule of thumb is to use ssd for SSDs, and ssd_spread for USB keys and SD/MMC cards?
samuel@eris:~/Downloads/linux$ git log -Sssd_spread fs/btrfs/ commit 451d7585a8bb1b9bec0d676ce3dece1923164e55 Author: Chris Mason <chris.mason@oracle.com> Date: Tue Jun 9 20:28:34 2009 -0400
Btrfs: add mount -o ssd_spread to spread allocations out
Some SSDs perform best when reusing block numbers often, while others perform much better when clustering strictly allocates big chunks of unused space.
The default mount -o ssd will find rough groupings of blocks where there are a bunch of free blocks that might have some allocated blocks mixed in.
mount -o ssd_spread will make sure there are no allocated blocks mixed in. It should perform better on lower end SSDs.
Signed-off-by: Chris Mason <chris.mason@oracle.com>