Re: [RFC PATCH] block, fs: use FOLL_LONGTERM as gup_flags for direct IO

From: David Hildenbrand
Date: Thu Mar 13 2025 - 18:49:14 EST


On 12.03.25 16:21, Christoph Hellwig wrote:
On Fri, Mar 07, 2025 at 08:23:08PM +0000, Matthew Wilcox wrote:
Howver, the problem is real.

What is the problem?

I think the problem is the CMA allocation failure, not the latency.

"if a large amount of direct IO is requested constantly, this can make pages in CMA pageblocks pinned and unable to migrate outside of the pageblock"

We'd need a more reliable way to make CMA allocation -> page migration make progress. For example, after we isolated the pageblocks and migration starts doing its thing, we could disallow any further GUP pins. (e.g., make GUP spin or wait for migration to end)

We could detect in GUP code that a folio is soon expected to be migrated by checking the pageblock (isolated) and/or whether the folio is locked.

--
Cheers,

David / dhildenb