[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190805063807.9494-2-zhengfeiran@bytedance.com>
Date: Mon, 5 Aug 2019 14:38:05 +0800
From: Fam Zheng <zhengfeiran@...edance.com>
To: linux-kernel@...r.kernel.org
Cc: axboe@...nel.dk, fam@...hon.net, paolo.valente@...aro.org,
duanxiongchun@...edance.com, linux-block@...r.kernel.org,
tj@...nel.org, cgroups@...r.kernel.org,
zhangjiachen.jc@...edance.com
Subject: [PATCH v2 1/3] bfq: Fix the missing barrier in __bfq_entity_update_weight_prio
The comment of bfq_group_set_weight says the reading of prio_changed
should happen before the reading of weight, but a memory barrier is
missing here. Add it now, to match the smp_wmb() there.
Signed-off-by: Fam Zheng <zhengfeiran@...edance.com>
---
block/bfq-wf2q.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/block/bfq-wf2q.c b/block/bfq-wf2q.c
index c9ba225081ce..05f0bf4a1144 100644
--- a/block/bfq-wf2q.c
+++ b/block/bfq-wf2q.c
@@ -744,6 +744,8 @@ __bfq_entity_update_weight_prio(struct bfq_service_tree *old_st,
}
#endif
+ /* Matches the smp_wmb() in bfq_group_set_weight. */
+ smp_rmb();
old_st->wsum -= entity->weight;
if (entity->new_weight != entity->orig_weight) {
--
2.11.0
Powered by blists - more mailing lists