LWN: Comments on "Allocator optimizations for transparent huge pages" https://lwn.net/Articles/974636/ This is a special feed containing comments posted to the individual LWN article titled "Allocator optimizations for transparent huge pages". en-us Fri, 19 Sep 2025 08:23:25 +0000 Fri, 19 Sep 2025 08:23:25 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Allocator optimizations for transparent huge pages https://lwn.net/Articles/976506/ https://lwn.net/Articles/976506/ yuzhao@google.com <div class="FormattedComment"> Slides attached here: <a href="https://lore.kernel.org/CAOUHufY_2e3gWF1uJD8-OG+1cQd3DfryBxioD++FmX89_Ba5PA@mail.gmail.com/">https://lore.kernel.org/CAOUHufY_2e3gWF1uJD8-OG+1cQd3Dfry...</a><br> </div> Mon, 03 Jun 2024 05:14:29 +0000 Allocator optimizations for transparent huge pages https://lwn.net/Articles/975912/ https://lwn.net/Articles/975912/ willy <div class="FormattedComment"> We don't support migrating the memory which underlies a vmalloc allocation, for exactly this reason.<br> </div> Thu, 30 May 2024 01:51:22 +0000 Allocator optimizations for transparent huge pages https://lwn.net/Articles/975747/ https://lwn.net/Articles/975747/ page_walker <div class="FormattedComment"> We can try to vmalloc everything in kernel and not use direct mapping at all. That means a kernel data access can trigger a page fault, when the page is under migration. That could cause recursive page faults, if kernel is handling a user page fault or a kernel page fault.<br> </div> Wed, 29 May 2024 14:17:07 +0000 Allocator optimizations for transparent huge pages https://lwn.net/Articles/975502/ https://lwn.net/Articles/975502/ david.hildenbrand <div class="FormattedComment"> Page tables used for user space process are very dynamic and are the problematic bit. Page tables used for the direct map are (besides memory hot(un)plug) static and we try to make use of huge mappings if possible.<br> </div> Tue, 28 May 2024 11:10:00 +0000 Allocator optimizations for transparent huge pages https://lwn.net/Articles/975490/ https://lwn.net/Articles/975490/ taladar <div class="FormattedComment"> Assuming no memory hot swapping, aren't page tables basically a fixed size for the entire lifetime of a system (as in between two reboots)? Wouldn't they be ideally allocated as huge pages themselves?<br> </div> Tue, 28 May 2024 07:31:51 +0000 Allocator optimizations for transparent huge pages https://lwn.net/Articles/975442/ https://lwn.net/Articles/975442/ david.hildenbrand <div class="FormattedComment"> I looked at this once (migration of leaf page tables only) and it turned into complexity. It can be done I think, given sufficient brain power and time.<br> <p> But it‘s only the tip of the iceberg I’m afraid. Many/most allocations in the kernel are unmovable, only selected (pagecache, anonymous memory, zsmallloc) are movable. We see a lot more unmovable allocations lately, the trend is going into the wrong direction: secretmem and guest_memfd don‘t support page migration at all.<br> </div> Mon, 27 May 2024 19:32:27 +0000 Allocator optimizations for transparent huge pages https://lwn.net/Articles/975427/ https://lwn.net/Articles/975427/ DemiMarie <div class="FormattedComment"> Could page tables be made movable?<br> </div> Mon, 27 May 2024 16:18:41 +0000 Allocator optimizations for transparent huge pages https://lwn.net/Articles/975155/ https://lwn.net/Articles/975155/ david.hildenbrand <div class="FormattedComment"> Especially page tables (and many more things) are unmovable and 4k. Instead of refusing to allocate them, we should do a better job at grouping them to restrict fragmentation locally (what pageblocks already do, and there is work in progress to improve the situation).<br> </div> Mon, 27 May 2024 10:04:55 +0000 Allocator optimizations for transparent huge pages https://lwn.net/Articles/975088/ https://lwn.net/Articles/975088/ DemiMarie <div class="FormattedComment"> Could the kernel refuse to allocate 4k pages that are not movable? Then any fragmentation they cause can be corrected via compaction.<br> </div> Sun, 26 May 2024 04:18:04 +0000