Re: [PATCH 00/13] Asynchronous raid6 acceleration (part 1 of 2)

From: Dan Williams
Date: Thu Mar 19 2009 - 13:09:24 EST


On Wed, Mar 18, 2009 at 4:43 PM, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
> Dan Williams <dan.j.williams@xxxxxxxxx> writes:
>
>> This series constitutes the pieces of the raid6 acceleration work that are
>> aimed at the next merge window.  It implements:
>> 1/ An api for asynchronous raid6 parity generation and recovery routines
>
> Could you please comment a bit how well the default load balancing works. If
> I write a single stream from a single CPU will it use multiple CPU
> cores in the system to do the RAID6 work?

No, that is an item for the todo list. This implementation is only
asynchronous when a raid6 hardware offload resource is available, when
this is not the case it runs synchronous/single-threaded. In general
the api is meant to inherit the load balancing of the caller. For
md/raid6 this is currently always single threaded for writes and
degraded reads regardless of the number of requesting threads.

This work does make some progress towards multithreaded raid6 in that
calculations can now be preempted (i.e. no longer performed under the
stripe spin_lock).

--
Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/