[PATCH 03/11][v3] async_tx: add support for asynchronous RAID6 recovery operations
Yuri Tikhonov
yur at emcraft.com
Sat Jan 17 23:26:57 EST 2009
On Friday, January 16, 2009 you wrote:
> On Fri, Jan 16, 2009 at 4:51 AM, Yuri Tikhonov <yur at emcraft.com> wrote:
>> The reason why I preferred to use async_pq() instead of async_xor()
>> here is to maximize the chance that the whole D+D recovery operation
>> will be handled in one ADMA device, i.e. without channels switch and
>> the latency introduced because of that.
>>
> This should be a function of the async_tx_find_channel implementation.
> The default version tries to keep a chain of operations on one
> channel.
> struct dma_chan *
> __async_tx_find_channel(struct dma_async_tx_descriptor *depend_tx,
> enum dma_transaction_type tx_type)
> {
> /* see if we can keep the chain on one channel */
> if (depend_tx &&
> dma_has_cap(tx_type, depend_tx->chan->device->cap_mask))
> return depend_tx->chan;
> return dma_find_channel(tx_type);
> }
Right. Then I need to update my ADMA driver, and add support for
explicit DMA_XOR capability on channels which can process DMA_PQ.
Thanks.
Regards, Yuri
--
Yuri Tikhonov, Senior Software Engineer
Emcraft Systems, www.emcraft.com
More information about the Linuxppc-dev
mailing list