On 2018/11/20 18:39, Christoph Hellwig wrote: > We have two places that check the flag, the writeback tracking > code: > > block/blk-wbt.c:#define REQ_HIPRIO (REQ_SYNC | REQ_META | REQ_PRIO) > block/blk-wbt.c: if ((rw & REQ_HIPRIO) || wb_recent_wait(rwb) || current_is_kswapd()) > > and bcache: > > drivers/md/bcache/request.c: !(bio->bi_opf & REQ_PRIO)) > drivers/md/bcache/request.c: !(bio->bi_opf & REQ_PRIO) && > > the original idea was that not all I/O is a priority we should not > blindly boost priority for metadata. Of course wbt actually ignores > and it and we may just give in and just check REQ_META, except for > the fact that f2fs now actually submits REQ_PRIO requests without > REQ_META.. OK. I will dig further. But the fact remains that with 4.21, the actual priority boost is gone with cfq removal. bfq, mq-deadline or kyber should add support. Or should the priority boosting be done with generic code before the BIO is passed to the scheduler ? That would also cover for the no scheduler case ("none") and allow propagating an effective ioprio down to the device if the device driver has that feature enabled. -- Damien Le Moal Western Digital Research