Linux RAID subsystem development
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox