lkml.org 
[lkml]   [2020]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 2/2] block: no-copy bvec for direct IO
Date
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

\
 
 \ /
  Last update: 2020-12-09 13:07    [W:0.100 / U:0.868 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site