Re: [PATCH 1/2] fs: Do not dispatch FITRIM through separate super_operation

From: Mark Lord
Date: Thu Nov 18 2010 - 16:45:05 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/