From: Fam Zheng Date: Wed, 28 Aug 2019 03:54:51 +0000 (+0800) Subject: bfq: Fix the missing barrier in __bfq_entity_update_weight_prio X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e9d3c866bf4cdbb6637e6cb268c26dfdf06d8cd3;p=linux.git 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 Reviewed-by: Paolo Valente Signed-off-by: Jens Axboe --- diff --git a/block/bfq-wf2q.c b/block/bfq-wf2q.c index c9ba225081cee..05f0bf4a1144d 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) {