On Mon, Feb 05, 2024 at 05:05:52PM +0800, zhaoyang.huang wrote: > +void bio_set_active_ioprio(struct bio *bio) why does this still exist? i said no. > +void bio_set_active_ioprio_page(struct bio *bio, struct page *page) this function should not exist. > +void bio_set_active_ioprio_folio(struct bio *bio, struct folio *folio) this is the only one which should. did you even look at the implementation of PageWorkingset? > +extern void bio_set_active_ioprio(struct bio *bio); > +extern void bio_set_active_ioprio_folio(struct bio *bio, struct folio *folio); > +extern void bio_set_active_ioprio_page(struct bio *bio, struct page *page); do not mark function prototypes with extern. > +#ifdef CONFIG_BLK_CONT_ACT_BASED_IOPRIO > + /* > + * bi_cont_act record total activities of bi_io_vec->pages > + */ > + u64 bi_cont_act; > +#endif what? look, you just don't understand. i've spent too much time replying to you trying to help you. i give up. everything to do with this idea is NAKed. go away.