Skip to content

md raid5 acceleration and async_tx

Dan Williams linux-raid lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest15 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/15dmaengine: add base support for the async_tx apidrivers/dma/dmaengine.c drivers/dma/ioatdma.c drivers/dma/ioatdma.h +1 more+439 -2482 replies
2/15ARM: Add drivers/dma to arch/arm/Kconfigarch/arm/Kconfig+2 -00 replies
3/15dmaengine: add the async_tx apidrivers/Makefile drivers/dma/Kconfig drivers/dma/Makefile +8 more+1286 -1890 replies
4/15md: add raid5_run_ops and support routinesdrivers/md/raid5.c include/linux/raid/raid5.h+580 -30 replies
5/15md: use raid5_run_ops for stripe cache operationsdrivers/md/raid5.c+56 -90 replies
6/15md: move write operations to raid5_run_opsdrivers/md/raid5.c+131 -210 replies
7/15md: move raid5 compute block operations to raid5_run_opsdrivers/md/raid5.c+93 -320 replies
8/15md: move raid5 parity checks to raid5_run_opsdrivers/md/raid5.c+62 -190 replies
9/15md: satisfy raid5 read requests via raid5_run_opsdrivers/md/raid5.c+15 -250 replies
10/15md: use async_tx and raid5_run_ops for raid5 expansion operationsdrivers/md/raid5.c+36 -120 replies
11/15md: move raid5 io requests to raid5_run_opsdrivers/md/raid5.c+10 -580 replies
12/15md: remove raid5 compute_block and compute_parity5drivers/md/raid5.c+0 -1240 replies
13/15dmaengine: driver for the iop32x, iop33x, and iop13xx raid enginesdrivers/dma/Kconfig drivers/dma/Makefile drivers/dma/iop-adma.c +1 more+1599 -00 replies
14/15iop13xx: Surface the iop13xx adma units to the iop-adma driverarch/arm/mach-iop13xx/setup.c include/asm-arm/arch-iop13xx/adma.h include/asm-arm/arch-iop13xx/iop13xx.h+752 -210 replies
15/15iop3xx: Surface the iop3xx DMA and AAU units to the iop-adma driverarch/arm/mach-iop32x/glantank.c arch/arm/mach-iop32x/iq31244.c arch/arm/mach-iop32x/iq80321.c +9 more+1129 -600 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 2.6.21-rc4 00/15] md raid5 acceleration and async_tx

The following patch set implements the async_tx api and modifies md-raid5 to issue memory copies and xor calculations asynchronously. Async_tx is an extension of the existing dmaengine interface in the kernel. Async_tx allows kernel code to utilize application specific acceleration engines when present and fall back to software routines otherwise. Further details can be found in the individual patch headers.

The implementation has been in -mm since 2.6.20-mm1 and has been released in various forms to IOP users since 2.6.18
(http://sourceforge.net/projects/xscaleiop). This release includes cleanups to the iop-adma driver. The md-raid5 patches are just rebased versions of the 2.6.20-rc5 release.

Given the release of an acceleration engine driver for another platform (440spe http://marc.info/?l=linux-raid&m=117400143317440&w=2), I feel more comfortable broaching the subject of 2.6.22 inclusion.

Regards,
Dan

Dan Williams (15):
dmaengine: add base support for the async_tx api
ARM: Add drivers/dma to arch/arm/Kconfig
dmaengine: add the async_tx api
md: add raid5_run_ops and support routines
md: use raid5_run_ops for stripe cache operations
md: move write operations to raid5_run_ops
md: move raid5 compute block operations to raid5_run_ops
md: move raid5 parity checks to raid5_run_ops
md: satisfy raid5 read requests via raid5_run_ops
md: use async_tx and raid5_run_ops for raid5 expansion operations
md: move raid5 io requests to raid5_run_ops
md: remove raid5 compute_block and compute_parity5
dmaengine: driver for the iop32x, iop33x, and iop13xx raid engines
iop13xx: Surface the iop13xx adma units to the iop-adma driver
iop3xx: Surface the iop3xx DMA and AAU units to the iop-adma driver