diff options
author | Dan Williams <dan.j.williams@intel.com> | 2008-06-28 08:31:50 +1000 |
---|---|---|
committer | Neil Brown <neilb@notabene.brown> | 2008-06-28 08:31:50 +1000 |
commit | b203886edbcaac3ca427cf4dbcb50b18bdb346fd (patch) | |
tree | d96cf939fd3a7ab454f61110b91b3a928eb5fe7c /include/linux/raid | |
parent | 0cd17fec983b6bca505eecee1af33138687220b6 (diff) | |
download | linux-stable-b203886edbcaac3ca427cf4dbcb50b18bdb346fd.tar.gz linux-stable-b203886edbcaac3ca427cf4dbcb50b18bdb346fd.tar.bz2 linux-stable-b203886edbcaac3ca427cf4dbcb50b18bdb346fd.zip |
md: kill STRIPE_OP_MOD_DMA in raid5 offload
From: Dan Williams <dan.j.williams@intel.com>
This micro-optimization allowed the raid code to skip a re-read of the
parity block after checking parity. It took advantage of the fact that
xor-offload-engines have their own internal result buffer and can check
parity without writing to memory. Remove it for the following reasons:
1/ It is a layering violation for MD to need to manage the DMA and
non-DMA paths within async_xor_zero_sum
2/ Bad precedent to toggle the 'ops' flags outside the lock
3/ Hard to realize a performance gain as reads will not need an updated
parity block and writes will dirty it anyways.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Diffstat (limited to 'include/linux/raid')
-rw-r--r-- | include/linux/raid/raid5.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/include/linux/raid/raid5.h b/include/linux/raid/raid5.h index f0827d31ae6f..4ecae31a3dcb 100644 --- a/include/linux/raid/raid5.h +++ b/include/linux/raid/raid5.h @@ -267,10 +267,8 @@ struct r6_state { /* modifiers to the base operations * STRIPE_OP_MOD_REPAIR_PD - compute the parity block and write it back - * STRIPE_OP_MOD_DMA_CHECK - parity is not corrupted by the check */ #define STRIPE_OP_MOD_REPAIR_PD 7 -#define STRIPE_OP_MOD_DMA_CHECK 8 /* * Plugging: |