Messages in this thread | | | From | Pavel Begunkov <> | Subject | Re: [PATCH 2/2] block: no-copy bvec for direct IO | Date | Wed, 9 Dec 2020 12:01:27 +0000 |
| |
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
| |