aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/raid/raid5.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2008-06-27 18:31:50 -0400
committerNeil Brown <neilb@notabene.brown>2008-06-27 18:31:50 -0400
commitb203886edbcaac3ca427cf4dbcb50b18bdb346fd (patch)
treed96cf939fd3a7ab454f61110b91b3a928eb5fe7c /include/linux/raid/raid5.h
parent0cd17fec983b6bca505eecee1af33138687220b6 (diff)
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/raid5.h')
-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 {
267 267
268/* modifiers to the base operations 268/* modifiers to the base operations
269 * STRIPE_OP_MOD_REPAIR_PD - compute the parity block and write it back 269 * STRIPE_OP_MOD_REPAIR_PD - compute the parity block and write it back
270 * STRIPE_OP_MOD_DMA_CHECK - parity is not corrupted by the check
271 */ 270 */
272#define STRIPE_OP_MOD_REPAIR_PD 7 271#define STRIPE_OP_MOD_REPAIR_PD 7
273#define STRIPE_OP_MOD_DMA_CHECK 8
274 272
275/* 273/*
276 * Plugging: 274 * Plugging: