linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Yuri Tikhonov <yur@emcraft.com>
To: "Dan Williams" <dan.j.williams@intel.com>
Cc: linux-raid@vger.kernel.org, linuxppc-dev@ozlabs.org, wd@denx.de,
	dzu@denx.de, yanok@emcraft.com
Subject: Re[2]: [PATCH 03/11][v3] async_tx: add support for asynchronous RAID6 recovery operations
Date: Fri, 16 Jan 2009 14:51:42 +0300	[thread overview]
Message-ID: <498243073.20090116145142@emcraft.com> (raw)
In-Reply-To: <e9c3a7c20901141706v17215220s22d973f81369be72@mail.gmail.com>

=0D=0AOn Thursday, January 15, 2009 Dan Williams wrote:

> On Mon, Jan 12, 2009 at 5:43 PM, Yuri Tikhonov <yur@emcraft.com> wrote:
>> +       /* (2) Calculate Q+Qxy */
>> +       lptrs[0] =3D ptrs[failb];
>> +       lptrs[1] =3D ptrs[disks-1];
>> +       lptrs[2] =3D NULL;
>> +       tx =3D async_pq(lptrs, NULL, 0, 1, bytes, ASYNC_TX_DEP_ACK,
>> +                     tx, NULL, NULL);
>> +
>> +       /* (3) Calculate P+Pxy */
>> +       lptrs[0] =3D ptrs[faila];
>> +       lptrs[1] =3D ptrs[disks-2];
>> +       lptrs[2] =3D NULL;
>> +       tx =3D async_pq(lptrs, NULL, 0, 1, bytes, ASYNC_TX_DEP_ACK,
>> +                     tx, NULL, NULL);
>> +

> These two calls convinced me that ASYNC_TX_PQ_ZERO_{P,Q} need to go.
> A 1-source async_pq operation does not make sense.

 Another source is hidden under not-set ASYNC_TX_PQ_ZERO_{P,Q} :)=20
Though, I agree, this looks rather misleading.

>   These should be:

>        /* (2) Calculate Q+Qxy */
>        lptrs[0] =3D ptrs[disks-1];
>        lptrs[1] =3D ptrs[failb];
>        tx =3D async_xor(lptrs[0], lptrs, 0, 2, bytes,
>                       ASYNC_TX_XOR_DROP_DST|ASYNC_TX_DEP_ACK, tx, NULL, N=
ULL);

>         /* (3) Calculate P+Pxy */
>        lptrs[0] =3D ptrs[disks-2];
>        lptrs[1] =3D ptrs[faila];
>        tx =3D async_xor(lptrs[0], lptrs, 0, 2, bytes,
>                       ASYNC_TX_XOR_DROP_DST|ASYNC_TX_DEP_ACK, tx, NULL, N=
ULL);


 The reason why I preferred to use async_pq() instead of async_xor()=20
here is to maximize the chance that the whole D+D recovery operation=20
will be handled in one ADMA device, i.e. without channels switch and=20
the latency introduced because of that.

 So, if we'll decide to stay with ASYNC_TX_PQ_ZERO_{P,Q}, then this=20
should be probably kept unchanged, but if we'll get rid of=20
ASYNC_TX_PQ_ZERO_{P,Q}, then, obviously, we'll have to use=20
async_xor()s here as you suggest.


 Regards, Yuri

 --
 Yuri Tikhonov, Senior Software Engineer
 Emcraft Systems, www.emcraft.com

  reply	other threads:[~2009-01-16 11:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-13  0:43 [PATCH 03/11][v3] async_tx: add support for asynchronous RAID6 recovery operations Yuri Tikhonov
2009-01-15  1:06 ` Dan Williams
2009-01-16 11:51   ` Yuri Tikhonov [this message]
2009-01-16 18:37     ` Re[2]: " Dan Williams
2009-01-17 12:26       ` Re[4]: " Yuri Tikhonov

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=498243073.20090116145142@emcraft.com \
    --to=yur@emcraft.com \
    --cc=dan.j.williams@intel.com \
    --cc=dzu@denx.de \
    --cc=linux-raid@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=wd@denx.de \
    --cc=yanok@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).