Linux-Block Archive on
 help / color / Atom feed
* [PATCH 3.16 22/87] sbitmap: fix improper use of smp_mb__before_atomic()
       [not found] <>
@ 2019-10-02 19:06 ` Ben Hutchings
  0 siblings, 0 replies; only message in thread
From: Ben Hutchings @ 2019-10-02 19:06 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: akpm, Denis Kirjanov, Omar Sandoval, Paul E. McKenney,
	Peter Zijlstra, linux-block, Andrea Parri, Jens Axboe, Ming Lei

3.16.75-rc1 review patch.  If anyone has any objections, please let me know.


From: Andrea Parri <>

commit a0934fd2b1208458e55fc4b48f55889809fce666 upstream.

This barrier only applies to the read-modify-write operations; in
particular, it does not apply to the atomic_set() primitive.

Replace the barrier with an smp_mb().

Fixes: 6c0ca7ae292ad ("sbitmap: fix wakeup hang after sbq resize")
Reported-by: "Paul E. McKenney" <>
Reported-by: Peter Zijlstra <>
Signed-off-by: Andrea Parri <>
Reviewed-by: Ming Lei <>
Cc: Jens Axboe <>
Cc: Omar Sandoval <>
Cc: Ming Lei <>
Cc: "Paul E. McKenney" <>
Cc: Peter Zijlstra <>
Signed-off-by: Jens Axboe <>
[bwh: Backported to 3.16: adjust filename]
Signed-off-by: Ben Hutchings <>
 block/blk-mq-tag.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/block/blk-mq-tag.c
+++ b/block/blk-mq-tag.c
@@ -499,7 +499,7 @@ static void bt_update_count(struct blk_m
 		 * Pairs with the memory barrier in bt_clear_tag() to ensure
 		 * that the batch size is updated before the wait counts.
-		smp_mb__before_atomic();
+		smp_mb();
 		for (i = 0; i < BT_WAIT_QUEUES; i++)
 			atomic_set(&bt->bs[i].wait_cnt, 1);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, back to index

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <>
2019-10-02 19:06 ` [PATCH 3.16 22/87] sbitmap: fix improper use of smp_mb__before_atomic() Ben Hutchings

Linux-Block Archive on

Archives are clonable:
	git clone --mirror linux-block/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-block linux-block/ \
	public-inbox-index linux-block

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone public-inbox