md: kill STRIPE_OP_MOD_DMA in raid5 offload
authorDan Williams <dan.j.williams@intel.com>
Fri, 27 Jun 2008 22:31:50 +0000 (08:31 +1000)
committerNeil Brown <neilb@notabene.brown>
Fri, 27 Jun 2008 22:31:50 +0000 (08:31 +1000)
commitb203886edbcaac3ca427cf4dbcb50b18bdb346fd
treed96cf939fd3a7ab454f61110b91b3a928eb5fe7c
parent0cd17fec983b6bca505eecee1af33138687220b6
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>
drivers/md/raid5.c
include/linux/raid/raid5.h