Re: [RFC][PATCH 000 of 3] MD Acceleration and the ADMA interface: Introduction
From: Jeff Garzik <hidden>
Date: 2006-02-03 02:01:44
Also in:
lkml
Dan Williams wrote:
This patch set was originally posted to linux-raid, Neil suggested that I send to linux-kernel as well: Per the discussion in this thread (http://marc.theaimsgroup.com/? t=112603120100004&r=1&w=2) these patches implement the first phase of MD acceleration, pre-emptible xor. To date these patches only cover raid5 calls to compute_parity for read/modify and reconstruct writes. The plan is to expand this to cover raid5 check parity, raid5 compute block, as well as the raid6 equivalents. The ADMA (Asynchronous / Application Specific DMA) interface is proposed as a cross platform mechanism for supporting system CPU offload engines. The goal is to provide a unified asynchronous interface to support memory copies, block xor, block pattern setting, block compare, CRC calculation, cryptography etc. The ADMA interface should support a PIO fallback mode allowing a given ADMA engine implementation to use the system CPU for operations without a hardware accelerated backend. In other words a client coded to the ADMA interface transparently receives hardware acceleration for its operations depending on the features of the underlying platform.
Here are some other things out there worth considering: * SCSI XOR commands * Figuring out how to support Promise SX4 (e.g. device offload), which is a chip with integrated XOR engine and attached DIMM. RAID1 and RAID5 are best implemented on-card, but the Linux driver is responsible for implementing all on-card actions, not a firmware. Jeff