On Tue, May 07, 2024 at 09:11:51AM -0700, Christoph Hellwig wrote: > On Tue, May 07, 2024 at 04:58:12PM +0200, Pankaj Raghav (Samsung) wrote: > > + if (len > PAGE_SIZE) { > > + folio = mm_get_huge_zero_folio(current->mm); > > I don't think the mm_struct based interfaces work well here, as I/O > completions don't come in through the same mm. You'll want to use > lower level interfaces like get_huge_zero_page and use them at > mount time. At the moment, we can get a reference to the huge zero folio only through the mm interface. Even if change the lower level interface to return THP, it can still fail at the mount time and we will need the fallback right? > > > + if (!folio) > > + folio = zero_page_folio; > > And then don't bother with a fallback. > -- Pankaj Raghav