> +     /*
> +      * In practice groups of pages tend to be accessed/reclaimed/refaulted
> +      * together. To not go over bvec for those who didn't set BIO_WORKINGSET
> +      * approximate it by looking at the first page and inducing it to the
> +      * whole bio
> +      */
> +     if (unlikely(PageWorkingset(iter->bvec->bv_page)))
> +             bio_set_flag(bio, BIO_WORKINGSET);

IIRC the feedback was that we do not need to deal with BIO_WORKINGSET
at all for direct I/O.

> +     bio_set_flag(bio, BIO_NO_PAGE_REF);
> +
> +     iter->count = 0;
> +     return 0;
> +}

This helper should go into bio.c, next to bio_iov_iter_get_pages.
And please convert the other callers of bio_iov_iter_get_pages to this
scheme as well.

Reply via email to