]> git.baikalelectronics.ru Git - kernel.git/commit
padata: upgrade smp_mb__after_atomic to smp_mb in padata_do_serial
authorDaniel Jordan <daniel.m.jordan@oracle.com>
Mon, 8 Jun 2020 21:26:52 +0000 (17:26 -0400)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 18 Jun 2020 07:09:54 +0000 (17:09 +1000)
commit7e1c520b2a7f97b98fa80a148fe1f55fe43d6919
treec9659db2092a276ee7a64922be0c57e0526f4c07
parent4148e84b6bcf2e8d9760fb8b9844075dc006e9ec
padata: upgrade smp_mb__after_atomic to smp_mb in padata_do_serial

A 5.7 kernel hangs during a tcrypt test of padata that waits for an AEAD
request to finish.  This is only seen on large machines running many
concurrent requests.

The issue is that padata never serializes the request.  The removal of
the reorder_objects atomic missed that the memory barrier in
padata_do_serial() depends on it.

Upgrade the barrier from smp_mb__after_atomic to smp_mb to get correct
ordering again.

Fixes: e76ecc9ee9696 ("padata: remove reorder_objects")
Signed-off-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Cc: linux-kernel@vger.kernel.org
Cc: <stable@vger.kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
kernel/padata.c