[PATCH v2 00/11] Asynchronous raid6 acceleration (part 1 of 3)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series extends the async_tx api to include support for offloading raid6
operations to hardware.  Part 2 covers updates to the iop-adma driver to
enable raid6.  Part 3 covers the changes to md/raid6 to use the async_tx api
for its raid6 computations.

A merge of these 3 topic series is available via the raid6 branch of
async_tx.git:

	git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx.git raid6

There are several changes since v1 of the patch set[1].  The primary updates
are:
1/ Address H. Peter Anvin's comments around the asynchronous raid6 recovery
   implementation.  It has been rewritten to more closely model the existing
   recovery implementation [2].

2/ Address Andre Noll's comment concerning the excessive number of arguments
   passed to the async_* routines.  Common parameters are now passed in a
   structure.

3/ Address Neil Brown's comment that we should solve the "kernel stack space
   limits the size of an array" problem with pre-allocated buffers.
   stripe_head objects now carry a kmalloc'd 'scribble' buffer relieving the
   stack pressure of raid computations.

4/ Various updates to get the code to pass the new raid6 recovery self test

Please review.

Thanks,
Dan

[1] http://marc.info/?l=linux-raid&m=123740421725422&w=2
[2] http://marc.info/?l=linux-raid&m=124096283425451&w=2

---

Dan Williams (11):
      async_tx: rename zero_sum to val
      async_tx: kill ASYNC_TX_DEP_ACK flag
      async_tx: structify submission arguments, add scribble
      async_xor: permit callers to pass in a 'dma/page scribble' region
      md/raid5: add scribble region for buffer lists
      async_tx: add sum check flags
      async_tx: kill needless module_{init|exit}
      async_tx: add support for asynchronous GF multiplication
      async_tx: add support for asynchronous RAID6 recovery operations
      dmatest: add pq support
      async_tx: raid6 recovery self test

 arch/arm/include/asm/hardware/iop3xx-adma.h |    5 
 arch/arm/mach-iop13xx/include/mach/adma.h   |   12 -
 arch/arm/mach-iop13xx/setup.c               |   10 -
 arch/arm/plat-iop/adma.c                    |    2 
 crypto/async_tx/Kconfig                     |    9 +
 crypto/async_tx/Makefile                    |    3 
 crypto/async_tx/async_memcpy.c              |   34 +-
 crypto/async_tx/async_memset.c              |   36 +-
 crypto/async_tx/async_pq.c                  |  399 +++++++++++++++++++++++++++
 crypto/async_tx/async_raid6_recov.c         |  292 ++++++++++++++++++++
 crypto/async_tx/async_tx.c                  |   53 +---
 crypto/async_tx/async_xor.c                 |  168 +++++------
 crypto/async_tx/raid6test.c                 |  212 ++++++++++++++
 drivers/dma/Kconfig                         |    2 
 drivers/dma/dmaengine.c                     |    8 -
 drivers/dma/dmatest.c                       |   26 ++
 drivers/dma/iop-adma.c                      |   40 +--
 drivers/md/Kconfig                          |   13 +
 drivers/md/raid5.c                          |  123 ++++++--
 drivers/md/raid5.h                          |   10 +
 include/linux/async_tx.h                    |  103 +++++--
 include/linux/dmaengine.h                   |   87 +++++-
 22 files changed, 1347 insertions(+), 300 deletions(-)
 create mode 100644 crypto/async_tx/async_pq.c
 create mode 100644 crypto/async_tx/async_raid6_recov.c
 create mode 100644 crypto/async_tx/raid6test.c
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux