On 09/12/2020 08:40, Christoph Hellwig wrote: >> + /* >> + * 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. I was waiting for the conversation to unfold, i.e. for Johannes to answer. BTW, would the same (skipping BIO_WORKINGSET) stand true for iomap? > >> + 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. Agree. In the end I want to merge that into bio_iov_iter_get_pages(). -- Pavel Begunkov