On Tue, Jun 22, 2021 at 06:55:33PM +0100, David Howells wrote: > Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > > End result: doing the fault_in_readable "unnecessarily" at the > > beginning is likely the better optimization. It's basically free when > > it's not necessary, and it avoids an extra fault (and extra > > lock/unlock and retry) when it does end up faulting pages in. > > It may also cause the read in to happen in the background whilst write_begin > is being done. Huh? Last I checked, the fault_in_readable actually read a byte from the page. It has to wait for the read to complete before that can happen.