On 10-11-18 03:04 PM, Greg Freemyer wrote:
2) FITRIM doesn't leverage the fact the a TRIM command can handle multiple ranges per TRIM command payload. I haven't seen any FITRIM vs. wiper.sh benchmarks, so I don't know what impact that has in practice. Mark Lord thought that this lacking feature would cause FITRIM to take minutes or hours with some hardware. Especially early generation SSDs.
If FITRIM is still issuing single-range-at-a-time TRIMs, then I'd call that a BUG that needs fixing. Doing TRIM like that causes tons of unnecessary ERASE cycles, shortening the SSD lifetime. It really needs to batch them into groups of (up to) 64 ranges at a time (64 ranges fits into a single 512-byte parameter block).
3) wiper.sh does leverage the multiple ranges per TRIM command, but it really needs a new block layer interface that would allow it to push discard commands into the kernel via the block layer, not just down at the physical drive layer. The interface should accept multiple ranges per invocation and trigger TRIM commands to the SSD that have have a multi-range discard payload.
I think FITRIM should be doing that, and it should work for more than just ext4. Cheers! -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html