All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: Markus Stockhausen <stockhausen@collogia.de>
Cc: Neil Brown <neilb@suse.de>, Shaohua Li <shli@fusionio.com>,
	"linux-raid@vger.kernel.org" <linux-raid@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Lior Amsalem <alior@marvell.com>,
	Thomas Petazzoni <thomas@free-electrons.com>,
	Gregory Clement <gregory.clement@free-electrons.com>,
	Boris Brezillon <boris@free-electrons.com>
Subject: Re: Possible RAID6 regression with ASYNC_TX_DMA enabled in 4.1
Date: Mon, 11 May 2015 11:13:35 +0200	[thread overview]
Message-ID: <20150511091335.GA10961@lukather> (raw)
In-Reply-To: <12EF8D94C6F8734FB2FF37B9FBEDD1735FC9B959@EXCHANGE.collogia.de>

[-- Attachment #1: Type: text/plain, Size: 2666 bytes --]

Hi Markus,

On Thu, May 07, 2015 at 02:39:07PM +0000, Markus Stockhausen wrote:
> Hi Maxime,
> 
> > Von: linux-raid-owner@vger.kernel.org [linux-raid-owner@vger.kernel.org]&quot; im Auftrag von &quot;Maxime Ripard [maxime.ripard@free-electrons.com]
> > Gesendet: Donnerstag, 7. Mai 2015 14:57
> > An: Neil Brown; Shaohua Li
> > Cc: linux-raid@vger.kernel.org; linux-kernel@vger.kernel.org; Lior Amsalem; Thomas Petazzoni; Gregory Clement; Boris Brezillon
> > Betreff: Possible RAID6 regression with ASYNC_TX_DMA enabled in 4.1
> > 
> > Hi,
> > 
> > I'm currently trying to add support for the PQ operations on the
> > marvell XOR engine, in dmaengine, obviously to be able to use async_tx
> > to offload these operations.
> > 
> > I'm testing these patches with a RAID6 array with 4 disks.
> > 
> > However, since the commit 59fc630b8b5f ("RAID5: batch adjacent full
> > stripe write", every write to that array fails with the following
> > stacktrace.
> > 
> > http://code.bulix.org/eh8iew-88342?raw
> 
> I don't know if it might be related. I added support for RAID6 Read-Modify-Write
> in software XOR with some patches. The following commit mangles some lines in 
> async_pq.c:
> 
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?
> id=584acdd49cd2472ca0f5a06adbe979db82d0b4af
> 
> I introduced a new flag ASYNC_TX_PQ_XOR_DST that notifies the async layer
> that we want to do a XOR syndrome operation instead of a full calculation.
> This will enforce the software path because I guessed that hardware does not
> support that case. Without hardware to check I might have missed some 
> checks in the async layer.
> 
> In the upper layer ops_run_reconstruct6 will set the flag if we determined
> that rmw is faster than rcw.
> 
> Can you check if rmw_level=0 fixes the issue. See:
> 
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?
> id=d06f191f8ecaef4d524e765fdb455f96392fbd42

I just gave this a try, and it doesn't fix anything.

One thing I forgot to mention is that our hardware doesn't support the
PQ multiplications and product sums, so one of the patches we have is
to add a new ASYNC_TX flag to be able to identify and bail out of such
transfers.

The patch is here:
https://github.com/MISL-EBU-System-SW/mainline-public/commit/9964fe4a79da10162f83bd527b3fe44da60d7e0f

There might be some interaction between your patch and this one, even
though the async_tx code itself looks to be untouched by your patches.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2015-05-11  9:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-07 12:57 Possible RAID6 regression with ASYNC_TX_DMA enabled in 4.1 Maxime Ripard
2015-05-07 14:39 ` AW: " Markus Stockhausen
2015-05-11  9:13   ` Maxime Ripard [this message]
2015-05-11  6:26 ` Shaohua Li
2015-05-12 12:55   ` Maxime Ripard
2015-05-12 10:59     ` Shaohua Li
2015-05-13  7:46       ` Maxime Ripard

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=20150511091335.GA10961@lukather \
    --to=maxime.ripard@free-electrons.com \
    --cc=alior@marvell.com \
    --cc=boris@free-electrons.com \
    --cc=gregory.clement@free-electrons.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=shli@fusionio.com \
    --cc=stockhausen@collogia.de \
    --cc=thomas@free-electrons.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.