Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754149AbbEMHuH (ORCPT ); Wed, 13 May 2015 03:50:07 -0400 Received: from down.free-electrons.com ([37.187.137.238]:51002 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751686AbbEMHuE (ORCPT ); Wed, 13 May 2015 03:50:04 -0400 Date: Wed, 13 May 2015 09:46:38 +0200 From: Maxime Ripard To: Shaohua Li Cc: Neil Brown , linux-raid@vger.kernel.org, linux-kernel@vger.kernel.org, Lior Amsalem , Thomas Petazzoni , Gregory Clement , Boris Brezillon Subject: Re: Possible RAID6 regression with ASYNC_TX_DMA enabled in 4.1 Message-ID: <20150513074638.GR10961@lukather> References: <20150507125702.GI11057@lukather> <20150511062638.GA63893@kernel.org> <20150512125546.GJ10961@lukather> <20150512105907.GA53461@kernel.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="FNX2SHge3qdlDajY" Content-Disposition: inline In-Reply-To: <20150512105907.GA53461@kernel.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4223 Lines: 115 --FNX2SHge3qdlDajY Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, On Tue, May 12, 2015 at 03:59:07AM -0700, Shaohua Li wrote: > On Tue, May 12, 2015 at 02:55:46PM +0200, Maxime Ripard wrote: > > Hi Shaohua, > >=20 > > On Sun, May 10, 2015 at 11:26:38PM -0700, Shaohua Li wrote: > > > On Thu, May 07, 2015 at 02:57:02PM +0200, Maxime Ripard wrote: > > > > Hi, > > > >=20 > > > > 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. > > > >=20 > > > > I'm testing these patches with a RAID6 array with 4 disks. > > > >=20 > > > > However, since the commit 59fc630b8b5f ("RAID5: batch adjacent full > > > > stripe write", every write to that array fails with the following > > > > stacktrace. > > > >=20 > > > > http://code.bulix.org/eh8iew-88342?raw > > > >=20 > > > > It seems to be generated by that warning here: > > > >=20 > > > > http://lxr.free-electrons.com/source/crypto/async_tx/async_tx.c#L173 > > > >=20 > > > > And indeed, if we dump the status of depend_tx here, it's already b= een > > > > acked. > > > >=20 > > > > That doesn't happen if ASYNC_TX_DMA is disabled, hence using the > > > > software version of it, instead of relying on our XOR engine. It > > > > doesn't happen on any commit prior to the one mentionned above, with > > > > the exact same changes applied. These changes are meant to be > > > > contributed, so I can definitely push them somewhere if needed. > > > >=20 > > > > I don't really know where to look for though, the change that is > > > > causing this is probably the change in ops_run_reconstruct6, but I'm > > > > not sure that this partial revert alone would work with regard to t= he > > > > rest of the patch. > > >=20 > > > I don't have a machine with dmaengine, it's likely there is error in = this side. > > > Could you please make stripe_can_batch() returns false always and che= ck if the > > > error disappear? This should narrow down if it's related to batch iss= ue. > >=20 > > The error indeed disappears if stripe_can_batch always returns false. >=20 > Does this fix it? >=20 >=20 > diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c > index 77dfd72..5e820fc 100644 > --- a/drivers/md/raid5.c > +++ b/drivers/md/raid5.c > @@ -1825,7 +1825,7 @@ ops_run_reconstruct6(struct stripe_head *sh, struct= raid5_percpu *percpu, > } else > init_async_submit(&submit, 0, tx, NULL, NULL, > to_addr_conv(sh, percpu, j)); > - async_gen_syndrome(blocks, 0, count+2, STRIPE_SIZE, &submit); > + tx =3D async_gen_syndrome(blocks, 0, count+2, STRIPE_SIZE, &submit); > if (!last_stripe) { > j++; > sh =3D list_first_entry(&sh->batch_list, struct stripe_head, It does, thanks! Feel free to add my Tested-by if you submit this patch. Maxime --=20 Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com --FNX2SHge3qdlDajY Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJVUwFeAAoJEBx+YmzsjxAgEfwQAMDGo5RMgqUG8aGalNqzGSgv oHFlVnRz+dB30gPeh5cyF2bfw23e1mEw3ZTxXAZxnw/1WpXzws5LL0JOAMzT6+uz o/rg3f7Q6u2HxUN+iC2w0wDvQXqS8Jiv0ZKeUcGRnLIn0ZdMjrbR4dmbif7rAWvb P2FnYDgv7xGB5kMPpmFBH1l56S3EJWEWBQ8QUY6M8nkCp8Y+o2vnvzGfYNJ/a2Hj aFnxSXE0m+eS4CiZL1adeM2GaGgq1FiWwmyuzOXtNVAAxys4hy2hDoS06spwKnKt zwc9M5mY+FeOz7W6L5QdCUQgkwQtveGe3+12eGqt+Yn1EyGgs7ziTLqmrbv47Cgj 9hJBqL2VUF4x/UyZ2sF5iWBMe3yp9B2vB+MPWYNS1+dmf47jlactbY64It05p8iF fcOG6F/PBxXgpIqWV51F4Qcrzm+VLWMqckC5rC7XnFZQZHMHnwD1OOkNk9uGs+Pe H+6fvEbkOqG8kjIjC/n8bA1C5UvFNBf8b0Oybow3hYiEMxJdXH+uH8VcM6n8qThj WLzKD+NS4ra1i/Kra0XTJuNTiQueUkcP8367Imy2LpOTAt9mIeUsdC1+pIC+Hg2E nMdIfUWoUKTp/HcAhinX3BQGO9ByEs6OHHsXiDIz6l2B21ZVCKLDen/WnsSj28U/ jJAcBd3U/CQicGkSScp2 =RRf9 -----END PGP SIGNATURE----- --FNX2SHge3qdlDajY-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/