Re: [PATCH v8 00/17] gfs2: Fix mmap + page fault deadlocks
Andreas Gruenbacher <[email protected]>
| Newsgroups | org.kernel.vger.kvm-ppc,com.redhat.cluster-devel,dev.linux.lists.ocfs2-devel,org.kernel.vger.linux-btrfs,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAHc6FU7BEfBJCpm8wC3P+8GTBcXxzDWcp6wAcgzQtuaJLHrqZA@mail.gmail.com> |
On Fri, Oct 22, 2021 at 9:23 PM Linus Torvalds <[email protected]> wrote: > On Fri, Oct 22, 2021 at 8:06 AM Catalin Marinas <[email protected]> wrote: > > Probing only the first byte(s) in fault_in() would be ideal, no need to > > go through all filesystems and try to change the uaccess/probing order. > > Let's try that. Or rather: probing just the first page - since there > are users like that btrfs ioctl, and the direct-io path. For direct I/O, we actually only want to trigger page fault-in so that we can grab page references with bio_iov_iter_get_pages. Probing for sub-page error domains will only slow things down. If we hit -EFAULT during the actual copy-in or copy-out, we know that the error can't be page fault related. Similarly, in the buffered I/O case, we only really care about the next byte, so any probing beyond that is unnecessary. So maybe we should split the sub-page error domain probing off from the fault-in functions. Or at least add an argument to the fault-in functions that specifies the amount of memory to probe. Thanks, Andreas