Re: [PATCH] block/psi: make PSI annotations of submit_bio only work for file pages

From: CGEL
Date: Wed Mar 16 2022 - 22:18:15 EST


On Wed, Mar 16, 2022 at 01:48:05AM -0700, Christoph Hellwig wrote:
> > @@ -1035,8 +1035,9 @@ void __bio_add_page(struct bio *bio, struct page *page,
> > bio->bi_iter.bi_size += len;
> > bio->bi_vcnt++;
> >
> > - if (!bio_flagged(bio, BIO_WORKINGSET) && unlikely(PageWorkingset(page)))
> > - bio_set_flag(bio, BIO_WORKINGSET);
> > + if (!bio_flagged(bio, BIO_WORKINGSET_FILE) &&
> > + unlikely(PageWorkingset(page)) && !PageSwapBacked(page))
> > + bio_set_flag(bio, BIO_WORKINGSET_FILE);
>
> This needs to go out of the block I/O fast path, not grow even more
> checks.

Thanks for your replying.

First, Johannes Weiner had made his state, see:
https://lore.kernel.org/all/Yio17pXawRuuVJFO@xxxxxxxxxxx/

Second, I understand your concern, but actually there seems no better
way to do file pages workingset delay accounting, because this is no
unique function to track file pages submitting, kernel do this in
multiple sub-system.

Thirdly, this patch doesn't make it worse, indeed it reduce unnecessary
psi accounting in submit_bio.