summaryrefslogtreecommitdiffstats
path: root/include/linux/raid
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2008-06-28 08:31:50 +1000
committerNeil Brown <neilb@notabene.brown>2008-06-28 08:31:50 +1000
commitb203886edbcaac3ca427cf4dbcb50b18bdb346fd (patch)
treed96cf939fd3a7ab454f61110b91b3a928eb5fe7c /include/linux/raid
parent0cd17fec983b6bca505eecee1af33138687220b6 (diff)
downloadlinux-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.h2
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: