On Thu, Jul 25, 2024 at 3:46 PM Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote: > > On Wed, Jul 24, 2024 at 03:52:05PM -0700, Andrii Nakryiko wrote: > > Extend freader with a flag specifying whether it's OK to cause page > > fault to fetch file data that is not already physically present in > > memory. With this, it's now easy to wait for data if the caller is > > running in sleepable (faultable) context. > > How does that interact with kmap_local disabling preemption on highmem? > There is no active kmap_local when we request a new page into the page cache with read_cache_folio, because we do freader_put_page(r) -> kunmap_local(r->page_addr). Did you look at the code and it looks broken to you? If yes, can you be a bit more specific what and where?