From: Dan Williams <dan.j.williams@intel.com>
To: neilb@suse.de, linux-raid@vger.kernel.org
Cc: maan@systemlinux.org, linux-kernel@vger.kernel.org,
yur@emcraft.com, hpa@zytor.com
Subject: [PATCH v2 00/11] Asynchronous raid6 acceleration (part 1 of 3)
Date: Mon, 18 May 2009 17:59:26 -0700 [thread overview]
Message-ID: <20090519005647.4104.81119.stgit@dwillia2-linux.ch.intel.com> (raw)
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
next reply other threads:[~2009-05-19 0:59 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-19 0:59 Dan Williams [this message]
2009-05-19 0:59 ` [PATCH v2 01/11] async_tx: rename zero_sum to val Dan Williams
[not found] ` <f12847240905200110x63b22601idbbdf3369984fa9a@mail.gmail.com>
2009-05-29 13:41 ` Sosnowski, Maciej
2009-06-03 18:12 ` Dan Williams
2009-05-19 0:59 ` [PATCH v2 02/11] async_tx: kill ASYNC_TX_DEP_ACK flag Dan Williams
[not found] ` <f12847240905250320w74897dabo6576b4b48bd19c0c@mail.gmail.com>
2009-05-29 13:41 ` Sosnowski, Maciej
2009-06-03 18:42 ` Dan Williams
2009-05-19 0:59 ` [PATCH v2 03/11] async_tx: structify submission arguments, add scribble Dan Williams
2009-05-20 8:06 ` Andre Noll
2009-05-20 18:19 ` Dan Williams
[not found] ` <f12847240905250321v774c4e8dscd7a466cd2e61168@mail.gmail.com>
2009-05-29 13:41 ` Sosnowski, Maciej
2009-06-03 19:05 ` Dan Williams
2009-05-19 0:59 ` [PATCH v2 04/11] async_xor: permit callers to pass in a 'dma/page scribble' region Dan Williams
2009-05-20 8:08 ` Andre Noll
2009-05-20 18:35 ` Dan Williams
2009-05-20 19:09 ` Andre Noll
2009-05-22 8:29 ` Andre Noll
2009-05-22 17:25 ` Dan Williams
2009-05-25 7:55 ` Andre Noll
[not found] ` <f12847240905250320w523fc657w3bca47f23442f46e@mail.gmail.com>
2009-05-29 13:41 ` Sosnowski, Maciej
2009-05-19 0:59 ` [PATCH v2 05/11] md/raid5: add scribble region for buffer lists Dan Williams
2009-05-20 8:09 ` Andre Noll
2009-05-20 19:05 ` Dan Williams
2009-06-04 6:11 ` Neil Brown
2009-06-05 19:19 ` Dan Williams
2009-06-08 17:25 ` Jody McIntyre
2009-05-19 0:59 ` [PATCH v2 06/11] async_tx: add sum check flags Dan Williams
[not found] ` <f12847240905200111p54382735v6941b52825cf4d7e@mail.gmail.com>
2009-05-29 13:41 ` Sosnowski, Maciej
2009-05-19 1:00 ` [PATCH v2 07/11] async_tx: kill needless module_{init|exit} Dan Williams
[not found] ` <f12847240905250323o21113fb9xbc4c16eea07b215@mail.gmail.com>
2009-05-29 13:42 ` Sosnowski, Maciej
2009-05-19 1:00 ` [PATCH v2 08/11] async_tx: add support for asynchronous GF multiplication Dan Williams
2009-05-22 8:29 ` Andre Noll
2009-06-03 22:11 ` Dan Williams
[not found] ` <f12847240905200111q37457b29lb9e30879e251888@mail.gmail.com>
2009-05-29 13:42 ` Sosnowski, Maciej
2009-06-03 22:16 ` Dan Williams
2009-05-19 1:00 ` [PATCH v2 09/11] async_tx: add support for asynchronous RAID6 recovery operations Dan Williams
2009-05-22 8:29 ` Andre Noll
2009-05-22 18:39 ` Dan Williams
[not found] ` <f12847240905250323q2e14efd6q69022a62cc7fd01f@mail.gmail.com>
2009-05-29 13:42 ` Sosnowski, Maciej
2009-05-19 1:00 ` [PATCH v2 10/11] dmatest: add pq support Dan Williams
[not found] ` <f12847240905250324t1a55b757hc8cd06d6b9663efe@mail.gmail.com>
2009-05-29 13:42 ` Sosnowski, Maciej
2009-05-19 1:00 ` [PATCH v2 11/11] async_tx: raid6 recovery self test Dan Williams
2009-05-22 8:29 ` Andre Noll
2009-06-03 21:42 ` Dan Williams
[not found] ` <f12847240905250324k2b4a0c7as9ac9b084d3707ce5@mail.gmail.com>
2009-05-29 13:42 ` Sosnowski, Maciej
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090519005647.4104.81119.stgit@dwillia2-linux.ch.intel.com \
--to=dan.j.williams@intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=maan@systemlinux.org \
--cc=neilb@suse.de \
--cc=yur@emcraft.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).