Re: [PATCH v5 2/2] Add support for SCT Write Same

From: Martin K. Petersen
Date: Wed Aug 10 2016 - 21:48:06 EST


>>>>> "Tom" == Tom Yan <tom.ty89@xxxxxxxxx> writes:

Tom> Well that is actually the minimum. Modern SSDs often support more
Tom> than one-block payload (e.g. 8, 16...). It's just our SCSI disk
Tom> driver statically limit it to the minimum. Though it allows only
Tom> 0xffffffff / 512 = 8388607 (SD_MAX_WS16_BLOCKS) blocks per WRITE
Tom> SAME (16) command anyway,

Yes, because that's the biggest command we can express in the block
layer.

Tom> so we can at most allow only a 2-block (well, or 3-block) payload.

We tried turning on multi block payloads and it was a massive disaster.
Many drives reported that they supported 8 block payloads but actually
didn't. Instead of playing the blacklist game we capped it at a single
sector.

Many drives from different vendors were affected by this. So we'd have
to make multi block payloads an explicit opt-in like we did for
discard_zeroes_data. However, given that "big" discards are mainly done
synchronously when creating filesystems, I am not sure there is any real
benefit to this.

--
Martin K. Petersen Oracle Linux Engineering