Re: Discard support (was Re: [PATCH] swap: send callback when swap slot is freed)

Ric Wheeler
2009-08-17T18:15:16Z

Chiming in here a bit late, but coalescing requests is also a good way
to prevent read-modify-write cycles.

Specifically, if I remember the concern correctly, for the WRITE_SAME
with unmap bit set, when the IO is not evenly aligned on the "erase
chunk" (whatever they call it) boundary the device can be forced to do a
read-modify-write (of zeroes) to the end or beginning of that region.

For a disk array, the WRITE_SAME with unmap bit when done cleanly on an
aligned boundary can be done entirely in the array's cache. The
read-modify-write can generate several reads to the back end disks which
are significantly slower....

ric