include/linux/huge_mm.h | 6 ++++++ include/linux/mman.h | 2 ++ 2 files changed, 8 insertions(+)
... and make setting MADV_NOHUGEPAGE with madvise() into a no-op if THP is not enabled. I discovered this issue when trying to use the tool CRIU to checkpoint and restore a container. Our running kernel is compiled without CONFIG_TRANSPARENT_HUGETABLES. CRIU parses the output of /proc/<pid>/smaps and saves the "nh" flag. When trying to restore the container, CRIU fails to restore the "nh" mappings, since madvise() MADV_NOHUGEPAGE always returns an error because CONFIG_TRANSPARENT_HUGETABLES is not defined. These patches: - Avoid mapping MAP_STACK to VM_NOHUGEPAGE if !THP - Avoid returning an error when calling madvise() with MADV_NOHUGEPAGE if !THP Signed-off-by: Ignacio Moreno Gonzalez <Ignacio.MorenoGonzalez@kuka.com> --- Changes in v2: - [Patch 1/2] Use '#ifdef' instead of '#if defined(...)' - [Patch 1/2] Add 'Fixes: c4608d1bf7c6...' - Create [Patch 2/2] - Link to v1: https://lore.kernel.org/r/20250502-map-map_stack-to-vm_nohugepage-only-if-thp-is-enabled-v1-1-113cc634cd51@kuka.com --- Ignacio Moreno Gonzalez (2): mm: mmap: map MAP_STACK to VM_NOHUGEPAGE only if THP is enabled mm: madvise: no-op for MADV_NOHUGEPAGE if THP is disabled include/linux/huge_mm.h | 6 ++++++ include/linux/mman.h | 2 ++ 2 files changed, 8 insertions(+) --- base-commit: fc96b232f8e7c0a6c282f47726b2ff6a5fb341d2 change-id: 20250428-map-map_stack-to-vm_nohugepage-only-if-thp-is-enabled-ce40a1de095d Best regards, -- Ignacio Moreno Gonzalez <Ignacio.MorenoGonzalez@kuka.com>
On Tue, May 06, 2025 at 03:44:31PM +0200, Ignacio Moreno Gonzalez via B4 Relay wrote: > ... and make setting MADV_NOHUGEPAGE with madvise() into a no-op if THP > is not enabled. This bit probably belongs after the rest without ellipses :P but it's not important. > > I discovered this issue when trying to use the tool CRIU to checkpoint > and restore a container. Our running kernel is compiled without > CONFIG_TRANSPARENT_HUGETABLES. CRIU parses the output of > /proc/<pid>/smaps and saves the "nh" flag. When trying to restore the > container, CRIU fails to restore the "nh" mappings, since madvise() > MADV_NOHUGEPAGE always returns an error because > CONFIG_TRANSPARENT_HUGETABLES is not defined. > > These patches: > - Avoid mapping MAP_STACK to VM_NOHUGEPAGE if !THP > - Avoid returning an error when calling madvise() with MADV_NOHUGEPAGE > if !THP > > Signed-off-by: Ignacio Moreno Gonzalez <Ignacio.MorenoGonzalez@kuka.com> The series looks good to me, thanks! Applies cleanly, builds fine, all selftests tests passing etc. > --- > Changes in v2: > - [Patch 1/2] Use '#ifdef' instead of '#if defined(...)' > - [Patch 1/2] Add 'Fixes: c4608d1bf7c6...' > - Create [Patch 2/2] > > - Link to v1: https://lore.kernel.org/r/20250502-map-map_stack-to-vm_nohugepage-only-if-thp-is-enabled-v1-1-113cc634cd51@kuka.com Thanks for the summary! > > --- > Ignacio Moreno Gonzalez (2): > mm: mmap: map MAP_STACK to VM_NOHUGEPAGE only if THP is enabled > mm: madvise: no-op for MADV_NOHUGEPAGE if THP is disabled > > include/linux/huge_mm.h | 6 ++++++ > include/linux/mman.h | 2 ++ > 2 files changed, 8 insertions(+) > --- > base-commit: fc96b232f8e7c0a6c282f47726b2ff6a5fb341d2 > change-id: 20250428-map-map_stack-to-vm_nohugepage-only-if-thp-is-enabled-ce40a1de095d > > Best regards, > -- > Ignacio Moreno Gonzalez <Ignacio.MorenoGonzalez@kuka.com> > >
On 5/6/2025 4:28 PM, Lorenzo Stoakes wrote: > This bit probably belongs after the rest without ellipses :P but it's not > important. I was not sure about modifying the subject for v2. Let me know if I should change it ;) > The series looks good to me, thanks! Thank you too for reviewing it!
On Tue, May 06, 2025 at 05:12:37PM +0200, Ignacio Moreno Gonzalez wrote: > On 5/6/2025 4:28 PM, Lorenzo Stoakes wrote: > > This bit probably belongs after the rest without ellipses :P but it's not > > important. > > I was not sure about modifying the subject for v2. Let me know if I should change it ;) Ahhh I see that's why you did that haha. I think for something this small it's fine. > > > The series looks good to me, thanks! > > Thank you too for reviewing it! No problem! Thanks for the series! :)
© 2016 - 2025 Red Hat, Inc.