On 11/21/2012 03:07 PM, Rob Evers wrote:
These patches replace the original t10 type 2 dif mempool implementation
by increasing the block and scsi cdb maximum sizes from 16 to 32 bytes.
The cdb embedded in the request structure can then be used for type 2
dif commands, or other 32 byte cdbs as required.
Motivation for this is that type-2 dif commands should be treated as
any other read/writes generally, without any performance penalty.
This patch set conflicts with a patch previously posted which addresses
a race in UA induced retries with type 2 dif commands. These patches also
address that problem:
http://marc.info/?l=linux-scsi&m=135186352200668&w=2
Testing:
Readily reproduced the race condition panic by simultaneously
inducing UAs while load testing 8 scsi_debug devices. With patch
applied, same testing ran for 15 hours without a panic.
Sanity tested performance using scsi_debug, with and without
type 2 dif enabled. Order 80% performance increase noticed
with patches when scsi_debug was running in dif type 2 mode.
Running scsi_debug without type 2 dif, performance was approximately
equal.
Used 3.7.0-rc5 for testing and patch generation.
root (2):
Change the cdb size limits in block and scsi to 32 bytes
Change dif type 2 commands to use embedded 32 byte cdb
drivers/scsi/sd.c | 45 +--------------------------------------------
drivers/scsi/sd.h | 5 -----
include/linux/blkdev.h | 2 +-
include/scsi/scsi_cmnd.h | 13 ++-----------
4 files changed, 4 insertions(+), 61 deletions(-)
James,
Can you give some input on this?
Thanks, Rob
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html