Message ID | 20230511014509.679482-2-yukuai1@huaweicloud.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | blk-wbt: minor fix and cleanup | expand |
On Thu, May 11, 2023 at 09:45:04AM +0800, Yu Kuai wrote: > @@ -730,8 +730,9 @@ void wbt_enable_default(struct gendisk *disk) > { > struct request_queue *q = disk->queue; > struct rq_qos *rqos; > - bool disable_flag = q->elevator && > - test_bit(ELEVATOR_FLAG_DISABLE_WBT, &q->elevator->flags); > + bool disable_flag = (q->elevator && > + test_bit(ELEVATOR_FLAG_DISABLE_WBT, &q->elevator->flags)) || > + !IS_ENABLED(CONFIG_BLK_WBT_MQ); Not really new in your patch, but I find the logic here very confusing. First the disable_flag really should be enable instead, as that's how it's actually checked, and then spelling out the conditions a bit more would really help readability. E.g. bool enabled = IS_ENABLED(CONFIG_BLK_WBT_MQ); if (q->elevator && test_bit(ELEVATOR_FLAG_DISABLE_WBT, &q->elevator->flags)) enable = false;
Hi, 在 2023/05/11 23:19, Christoph Hellwig 写道: > On Thu, May 11, 2023 at 09:45:04AM +0800, Yu Kuai wrote: >> @@ -730,8 +730,9 @@ void wbt_enable_default(struct gendisk *disk) >> { >> struct request_queue *q = disk->queue; >> struct rq_qos *rqos; >> - bool disable_flag = q->elevator && >> - test_bit(ELEVATOR_FLAG_DISABLE_WBT, &q->elevator->flags); >> + bool disable_flag = (q->elevator && >> + test_bit(ELEVATOR_FLAG_DISABLE_WBT, &q->elevator->flags)) || >> + !IS_ENABLED(CONFIG_BLK_WBT_MQ); > > Not really new in your patch, but I find the logic here very confusing. > First the disable_flag really should be enable instead, as that's how > it's actually checked, and then spelling out the conditions a bit more > would really help readability. E.g. > > bool enabled = IS_ENABLED(CONFIG_BLK_WBT_MQ); > > if (q->elevator && > test_bit(ELEVATOR_FLAG_DISABLE_WBT, &q->elevator->flags)) > enable = false; Of course, this looks better, I'll do this in v2. Thanks, Kuai > > > . >
diff --git a/block/blk-wbt.c b/block/blk-wbt.c index e49a48684532..b1ab4688eb5c 100644 --- a/block/blk-wbt.c +++ b/block/blk-wbt.c @@ -730,8 +730,9 @@ void wbt_enable_default(struct gendisk *disk) { struct request_queue *q = disk->queue; struct rq_qos *rqos; - bool disable_flag = q->elevator && - test_bit(ELEVATOR_FLAG_DISABLE_WBT, &q->elevator->flags); + bool disable_flag = (q->elevator && + test_bit(ELEVATOR_FLAG_DISABLE_WBT, &q->elevator->flags)) || + !IS_ENABLED(CONFIG_BLK_WBT_MQ); /* Throttling already enabled? */ rqos = wbt_rq_qos(q);