On Thu, Jan 25, 2024 at 3:40 PM Damien Le Moal <dlemoal@xxxxxxxxxx> wrote: > > On 1/25/24 16:19, zhaoyang.huang wrote: > > From: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx> > > > > Currently, request's ioprio are set via task's schedule priority(when no > > blkcg configured), which has high priority tasks possess the privilege on > > both of CPU and IO scheduling. > > This commit works as a hint of original policy by promoting the request ioprio > > based on the page/folio's activity. The original idea comes from LRU_GEN > > which provides more precised folio activity than before. This commit try > > to adjust the request's ioprio when certain part of its folios are hot, > > which indicate that this request carry important contents and need be > > scheduled ealier. > > > > This commit is verified on a v6.6 6GB RAM android14 system via 4 test cases > > by changing the bio_add_page/folio API in ext4 and f2fs. > > And as mentioned already by Chrisoph and Jens, why don't you just simply set > bio->bi_ioprio to the value you want before calling submit_bio() in these file > systems ? Why all the hacking of the priority code for that ? That is not > justified at all. > > Furthermore, the activity things reduces the ioprio hint bits to the bare > minimum 3 bits necessary for command duration limits. Not great. But if you > simply set the prio class based on your activity algorithm, you do not need to > change all that. That is because bio->io_prio changes during bio grows with adding different activity pages in. I have to wrap these into an API which has both of fs and block be transparent to the process. > > Note: Your patch is full of whitespace changes. Sorry, I double checked the source code and the patch with checkpatch.pl again, no whitespace found, don't know why > > -- > Damien Le Moal > Western Digital Research >