Files
linux/include/uapi/linux
David Hildenbrand 8cdc4d2701 mm/huge_memory: respect MADV_COLLAPSE with PR_THP_DISABLE_EXCEPT_ADVISED
Let's allow for making MADV_COLLAPSE succeed on areas that neither have
VM_HUGEPAGE nor VM_NOHUGEPAGE when we have THP disabled unless explicitly
advised (PR_THP_DISABLE_EXCEPT_ADVISED).

MADV_COLLAPSE is a clear advice that we want to collapse.

Note that we still respect the VM_NOHUGEPAGE flag, just like
MADV_COLLAPSE always does. So consequently, MADV_COLLAPSE is now only
refused on VM_NOHUGEPAGE with PR_THP_DISABLE_EXCEPT_ADVISED,
including for shmem.

Link: https://lkml.kernel.org/r/20250815135549.130506-4-usamaarif642@gmail.com
Co-developed-by: Usama Arif <usamaarif642@gmail.com>
Signed-off-by: Usama Arif <usamaarif642@gmail.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Barry Song <baohua@kernel.org>
Cc: Dev Jain <dev.jain@arm.com>
Cc: Jann Horn <jannh@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: Mariano Pache <npache@redhat.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Rik van Riel <riel@surriel.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: SeongJae Park <sj@kernel.org>
Cc: Shakeel Butt <shakeel.butt@linux.dev>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Yafang <laoar.shao@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-09-13 16:55:05 -07:00
..
2024-07-31 13:56:00 +02:00
2024-04-15 13:42:38 +02:00
2025-02-08 15:16:29 +00:00
2021-11-01 13:36:08 +00:00
2022-08-11 10:31:19 -07:00
2025-07-16 18:38:05 -07:00
2021-11-26 16:48:59 +01:00
2025-02-05 13:22:04 +09:00
2023-01-20 09:33:22 +00:00
2024-06-11 12:57:49 -05:00
2025-02-12 02:29:30 +00:00
2025-06-24 16:58:42 +02:00
2023-03-16 21:20:32 -07:00
2025-05-03 12:02:09 +02:00
2022-08-10 13:49:50 +01:00
2024-05-07 01:35:57 +02:00
2024-08-29 10:39:37 +02:00
2025-07-14 09:15:58 +02:00
2024-04-01 10:49:28 +01:00
2024-08-26 09:37:23 -07:00
2024-06-01 07:28:21 +02:00
2024-09-01 20:26:05 -07:00
2022-09-20 09:13:38 +02:00
2025-04-17 11:09:10 +02:00
2024-08-19 22:36:26 -04:00
2025-07-08 12:39:24 +02:00
2023-12-15 17:01:30 +01:00
2024-09-06 08:31:40 -06:00
2022-09-07 16:46:03 +02:00
2024-08-12 17:50:34 -07:00
2023-11-28 19:05:16 +00:00
2025-01-08 13:18:11 +01:00
2025-04-17 12:30:02 +02:00
2025-06-24 15:50:06 +02:00
2023-12-20 19:26:31 -05:00
2025-02-25 18:14:03 -08:00
2025-07-14 18:41:42 -07:00
2022-11-17 11:04:23 -08:00
2025-06-19 14:28:22 +02:00
2025-05-21 13:41:03 +02:00
2022-09-27 17:29:09 -07:00
2025-04-17 12:30:02 +02:00
2023-12-29 11:58:24 -08:00
2023-03-23 17:25:46 +01:00
2025-05-27 10:27:54 -04:00