diff options
| author | Kiryl Shutsemau (Meta) <kas@kernel.org> | 2026-09-28 11:06:27 +0100 |
|---|---|---|
| committer | Andrew Morton <akpm@linux-foundation.org> | 2026-10-08 23:06:31 -0700 |
| commit | 7fea65044f62933615c84d4b943fef67856a8022 (patch) | |
| tree | e0521e4506a5914c75095f0faf2f4618a2e03bde /scripts/checkstack.pl | |
| parent | 21ba336a717e6b30354fade63929ff91597766ea (diff) | |
| download | linux-next-7fea65044f62933615c84d4b943fef67856a8022.tar.gz linux-next-7fea65044f62933615c84d4b943fef67856a8022.zip | |
mm/collapse: implement MADV_COLLAPSE in madvise.c
MADV_COLLAPSE is a madvise operation, but its implementation sat in
khugepaged.c. The daemon's file therefore also held a syscall's worth of
code that has nothing to do with the daemon: the walk over the user's
range, the per-PMD loop, and the errno translation.
Move it to madvise.c, among the operations it belongs with, along with the
errno map and the policy it states for itself. It takes a struct
madvise_behavior like every one of those operations, which is where the
range, the VMA and the lock-dropped flag it used to be handed separately
already live.
It stays a caller of the interface khugepaged uses, so nothing about the
collapse changes.
The !CONFIG_TRANSPARENT_HUGEPAGE stub moves in with it.
Link: https://lore.kernel.org/20260928100630.21870-14-kirill@shutemov.name
Signed-off-by: Kiryl Shutsemau (Meta) <kas@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Zi Yan <ziy@nvidia.com>
Assisted-by: LLM
Cc: David Hildenbrand <david@kernel.org>
Cc: Lorenzo Stoakes <ljs@kernel.org>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: Liam R. Howlett <liam@infradead.org>
Cc: Nico Pache <nico.pache@linux.dev>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Cc: Dev Jain <dev.jain@arm.com>
Cc: Barry Song <baohua@kernel.org>
Cc: Lance Yang <lance.yang@linux.dev>
Cc: Usama Arif <usama.arif@linux.dev>
Cc: Vlastimil Babka <vbabka@kernel.org>
Cc: Jann Horn <jannh@google.com>
Diffstat (limited to 'scripts/checkstack.pl')
0 files changed, 0 insertions, 0 deletions
