Messages in this thread | | | Date | Tue, 14 Jul 2015 10:04:12 -0600 | From | Jens Axboe <> | Subject | Re: [PATCH 0/2] Configurable max discard size |
| |
On 07/14/2015 10:01 AM, Christoph Hellwig wrote: > On Tue, Jul 14, 2015 at 09:02:17AM -0600, Jens Axboe wrote: >> Hi, >> >> Most drivers use UINT_MAX (or some variant thereof) for max discard >> size, since they don't have a real limit for a non-data transferring >> command. This is fine from a throughput point of view, but for a lot >> of devices (all?), it truly sucks on latency. We've seen cases of >> hundreds of msec in latencies for reads/writes when deleting files >> on an fs with discard enabled. For the problematic devices that we >> have tested, artificially limiting the size of the discards issued >> brings it down to a more manageable 1-2ms max latencies. > > This looks reasonable to me. Any chance you could also come up > with reasonable start values for the hardware you've done this for > so that we can get a good out of the box experience?
Based on experimentation with two different vendors, 64MB would be a good default. Question is how best to set that. At least with the current patch, untouched, 'discard_max_bytes' will still show the hw max value. If I default it to 64MB, we'd lose that information until people started bumping it up in size. Maybe that's not such a big deal, however.
-- Jens Axboe
| |