Re: [PATCH v2 2/7] mm/hugetlb: Stop using avoid_reserve flag in fork()
From: Oscar Salvador
Date: Mon Jan 13 2025 - 06:06:09 EST
On Tue, Jan 07, 2025 at 03:39:57PM -0500, Peter Xu wrote:
> When fork() and stumble on top of a dma-pinned hugetlb private page, CoW
> must happen during fork() to guarantee dma coherency.
>
> In this specific path, hugetlb pages need to be allocated for the child
> process. Stop using avoid_reserve=1 flag here: it's not required to be
> used here, as dest_vma (which is destined to be a MAP_PRIVATE hugetlb vma)
> will have no private vma resv map, and that will make sure it won't be able
> to use a vma reservation later.
>
> No functional change intended with this change. Said that, it's still
> wanted to do this, so as to reduce the usage of avoid_reserve to the only
> one user, which is also why this flag was introduced initially in commit
> 04f2cbe35699 ("hugetlb: guarantee that COW faults for a process that called
> mmap(MAP_PRIVATE) on hugetlbfs will succeed"). I don't see whoever else
> should set it at all.
>
> Further patch will clean up resv accounting based on this.
>
> Signed-off-by: Peter Xu <peterx@xxxxxxxxxx>
Reviewed-by: Oscar Salvador <osalvador@xxxxxxx>
--
Oscar Salvador
SUSE Labs