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;