Messages in this thread |  | | From | Andreas Gruenbacher <> | Date | Mon, 25 Oct 2021 21:00:43 +0200 | Subject | Re: [PATCH v8 00/17] gfs2: Fix mmap + page fault deadlocks |
| |
On Fri, Oct 22, 2021 at 9:23 PM Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Fri, Oct 22, 2021 at 8:06 AM Catalin Marinas <catalin.marinas@arm.com> 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
|  |