PULL REQUEST - md updates for 2.6.32, mostly raid6 offload

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

 



Hi Linus,
  please pull md and related updates as below.
  Most of this is support for offloading the RAID6 calculation onto
  dedicated hardware, hence the crypto/async_tx and drives/dma
  changes.  This makes RAID6 more consistent with RAID5 which already
  supports XOR offload.
  The only bit that is really from me is a couple of fixes for sparse
  warnings, one of which was really an error. (It is a pity spares in
  so noisy....)

Thanks,
NeilBrown


The following changes since commit 0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a:
  Linus Torvalds (1):
        Merge branch 'x86-setup-for-linus' of git://git.kernel.org/.../tip/linux-2.6-tip

are available in the git repository at:

  git://neil.brown.name/md/ for-linus

Atsushi Nemoto (1):
      dmaengine: Move all map_sg/unmap_sg for slave channel to its client

Dan Williams (81):
      Merge branch 'dmaengine' into async-tx-raid6
      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/raid6: release spare page at ->stop()
      ioat: move to drivers/dma/ioat/
      md/raid6: move the spare page to a percpu allocation
      md/raid5,6: add percpu scribble region for buffer lists
      async_tx: add sum check flags
      async_tx: kill needless module_{init|exit}
      async_tx: remove walk of tx->parent chain in dma_wait_for_async_tx
      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
      iop-adma: cleanup iop_adma_run_tx_complete_actions
      iop-adma: fix lockdep false positive
      iop-adma: P+Q support for iop13xx adma engines
      iop-adma: P+Q self test
      md/raid5: factor out mark_uptodate from ops_complete_compute5
      md/raid6: asynchronous raid6 operations
      md/raid6: asynchronous handle_parity_check6
      md/raid456: distribute raid processing over multiple cores
      Merge commit 'v2.6.31-rc1' into dmaengine
      ioat: move definitions to dma.h
      ioat: convert ioat_probe to pcim/devm
      ioat: cleanup some long deref chains and 80 column collisions
      ioat: kill function prototype ifdef guards
      ioat: split ioat_dma_probe into core/version-specific routines
      ioat: fix type mismatch for ->dmacount
      ioat: define descriptor control bit-field
      ioat1: move descriptor allocation from submit to prep
      ioat: fix self test interrupts
      ioat: prepare the code for ioat[12]_dma_chan split
      ioat2,3: convert to a true ring buffer
      ioat1: kill unused unmap parameters
      ioat: add some dev_dbg() calls
      ioat: cleanup completion status reads
      ioat: ignore reserved bits for chancnt and xfercap
      ioat: preserve chanctrl bits when re-arming interrupts
      ioat: ___devinit annotate the initialization paths
      ioat1: trim ioat_dma_desc_sw
      ioat: switch watchdog and reset handler from workqueue to timer
      ioat2,3: dynamically resize descriptor ring
      net_dma: poll for a descriptor after allocation failure
      Merge branch 'md-raid6-accel' into ioat3.2
      dmaengine: add fence support
      dmaengine, async_tx: add a "no channel switch" allocator
      dmaengine: cleanup unused transaction types
      dmaengine, async_tx: support alignment checks
      ioat2+: add fence support
      ioat3: hardware version 3.2 register / descriptor definitions
      ioat3: split ioat3 support to its own file, add memset
      ioat: add 'ioat' sysfs attributes
      ioat3: enable dca for completion writes
      ioat3: xor support
      ioat3: xor self test
      ioat3: pq support
      ioat3: support xor via pq descriptors
      ioat3: interrupt descriptor support
      ioat3: segregate raid engines
      Merge branch 'ioat' into dmaengine
      dw_dmac: implement a private tx_list
      fsldma: implement a private tx_list
      iop-adma: implement a private tx_list
      ioat: implement a private tx_list
      mv_xor: implement a private tx_list
      at_hdmac: implement a private tx_list
      txx9dmac: implement a private tx_list
      dmaengine: kill tx_list
      ioat2,3: cacheline align software descriptor allocations
      Merge branch 'iop-raid6' into async-tx-next
      Merge branch 'dmaengine' into async-tx-next
      Merge commit 'md/for-linus' into async-tx-next
      async_tx: remove HIGHMEM64G restriction
      ioat: driver version 4.0
      md/raid6: eliminate BUG_ON with side effect
      md/raid6: cleanup ops_run_compute6_2
      ioat2: clarify ring size limits
      raid6test: fix stack overflow

Ira Snyder (2):
      fsldma: split apart external pause and request count features
      fsldma: Add DMA_SLAVE support

Maciej Sosnowski (1):
      dca: registering requesters in multiple dca domains

NeilBrown (3):
      md: remove sparse waring "symbol xxx shadows an earlier one"
      md: remove sparse warnings about lock context.
      Merge branch 'next' of git://git.kernel.org/.../djbw/async_tx into for-linus

Nobuhiro Iwamatsu (1):
      dmaengine: sh: Add Support SuperH DMA Engine driver

Roland Dreier (2):
      Add MODULE_DEVICE_TABLE() so ioatdma module is autoloaded
      I/OAT: Convert to PCI_VDEVICE()

Stephen Hemminger (1):
      dca: module load should not be an error message

Tom Picard (1):
      ioat3: ioat3.2 pci ids for Jasper Forest

Yuri Tikhonov (5):
      md/raid5,6: common schedule_reconstruction for raid5/6
      md/raid6: asynchronous handle_stripe_fill6
      md/raid6: asynchronous handle_stripe_dirtying6
      md/raid6: asynchronous handle_stripe6
      md/raid6: remove synchronous infrastructure

 Documentation/crypto/async-tx-api.txt              |   75 +-
 arch/arm/include/asm/hardware/iop3xx-adma.h        |   81 +-
 arch/arm/include/asm/hardware/iop_adma.h           |    3 +
 arch/arm/mach-iop13xx/include/mach/adma.h          |  119 ++-
 arch/arm/mach-iop13xx/setup.c                      |   17 +-
 arch/arm/plat-iop/adma.c                           |    4 +-
 arch/powerpc/include/asm/fsldma.h                  |  136 ++
 arch/sh/drivers/dma/Kconfig                        |   12 +-
 arch/sh/drivers/dma/Makefile                       |    3 +-
 arch/sh/include/asm/dma-sh.h                       |   13 +
 crypto/async_tx/Kconfig                            |    9 +
 crypto/async_tx/Makefile                           |    3 +
 crypto/async_tx/async_memcpy.c                     |   44 +-
 crypto/async_tx/async_memset.c                     |   43 +-
 crypto/async_tx/async_pq.c                         |  395 +++++
 crypto/async_tx/async_raid6_recov.c                |  455 +++++
 crypto/async_tx/async_tx.c                         |   87 +-
 crypto/async_tx/async_xor.c                        |  207 ++--
 crypto/async_tx/raid6test.c                        |  240 +++
 drivers/dca/dca-core.c                             |  124 ++-
 drivers/dma/Kconfig                                |   14 +-
 drivers/dma/Makefile                               |    4 +-
 drivers/dma/at_hdmac.c                             |   60 +-
 drivers/dma/at_hdmac_regs.h                        |    1 +
 drivers/dma/dmaengine.c                            |   94 +-
 drivers/dma/dmatest.c                              |   40 +
 drivers/dma/dw_dmac.c                              |   50 +-
 drivers/dma/dw_dmac_regs.h                         |    1 +
 drivers/dma/fsldma.c                               |  288 +++-
 drivers/dma/fsldma.h                               |    4 +-
 drivers/dma/ioat.c                                 |  202 ---
 drivers/dma/ioat/Makefile                          |    2 +
 drivers/dma/{ioat_dca.c => ioat/dca.c}             |   13 +-
 drivers/dma/ioat/dma.c                             | 1238 ++++++++++++++
 drivers/dma/ioat/dma.h                             |  337 ++++
 drivers/dma/ioat/dma_v2.c                          |  870 ++++++++++
 drivers/dma/ioat/dma_v2.h                          |  190 +++
 drivers/dma/ioat/dma_v3.c                          | 1220 ++++++++++++++
 drivers/dma/ioat/hw.h                              |  215 +++
 drivers/dma/ioat/pci.c                             |  210 +++
 .../dma/{ioatdma_registers.h => ioat/registers.h}  |   54 +-
 drivers/dma/ioat_dma.c                             | 1741 --------------------
 drivers/dma/ioatdma.h                              |  165 --
 drivers/dma/ioatdma_hw.h                           |   70 -
 drivers/dma/iop-adma.c                             |  491 +++++-
 drivers/dma/iovlock.c                              |   10 +
 drivers/dma/mv_xor.c                               |    7 +-
 drivers/dma/mv_xor.h                               |    4 +-
 drivers/dma/shdma.c                                |  786 +++++++++
 drivers/dma/shdma.h                                |   64 +
 drivers/dma/txx9dmac.c                             |   24 +-
 drivers/dma/txx9dmac.h                             |    1 +
 drivers/idle/i7300_idle.c                          |   20 +-
 drivers/md/Kconfig                                 |   26 +
 drivers/md/bitmap.c                                |    5 +-
 drivers/md/md.c                                    |   10 +-
 drivers/md/raid0.c                                 |    5 +-
 drivers/md/raid10.c                                |    2 +-
 drivers/md/raid5.c                                 | 1484 +++++++++++-------
 drivers/md/raid5.h                                 |   28 +-
 drivers/mmc/host/atmel-mci.c                       |    9 +-
 include/linux/async_tx.h                           |  129 ++-
 include/linux/dca.h                                |   11 +-
 include/linux/dmaengine.h                          |  179 ++-
 include/linux/pci_ids.h                            |   10 +
 65 files changed, 9137 insertions(+), 3321 deletions(-)
 create mode 100644 arch/powerpc/include/asm/fsldma.h
 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
 delete mode 100644 drivers/dma/ioat.c
 create mode 100644 drivers/dma/ioat/Makefile
 rename drivers/dma/{ioat_dca.c => ioat/dca.c} (98%)
 create mode 100644 drivers/dma/ioat/dma.c
 create mode 100644 drivers/dma/ioat/dma.h
 create mode 100644 drivers/dma/ioat/dma_v2.c
 create mode 100644 drivers/dma/ioat/dma_v2.h
 create mode 100644 drivers/dma/ioat/dma_v3.c
 create mode 100644 drivers/dma/ioat/hw.h
 create mode 100644 drivers/dma/ioat/pci.c
 rename drivers/dma/{ioatdma_registers.h => ioat/registers.h} (84%)
 delete mode 100644 drivers/dma/ioat_dma.c
 delete mode 100644 drivers/dma/ioatdma.h
 delete mode 100644 drivers/dma/ioatdma_hw.h
 create mode 100644 drivers/dma/shdma.c
 create mode 100644 drivers/dma/shdma.h
--
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