[dm-devel] RFC: REQ_PRIO use

Damien Le Moal Damien.LeMoal at wdc.com
Wed Nov 21 02:37:28 UTC 2018


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




More information about the dm-devel mailing list