Een voor Linux 7.4 ingediende memblock-patch richt zich op het versnellen van één specifieke taak: geheugen ophalen voor Kernel Handover (KHO). Patchauteur Tarun Sahu meldt dat die bewerking in een geval met ongeveer 393.000 pagina’s terugliep van circa 268 seconden naar circa 50 milliseconden. Dat is een resultaat voor die KHO-casus, geen meting van de totale opstarttijd.

Wat memblock doet tijdens de vroege Linux-start

memblock beheert fysiek geheugen voordat de volledige pagina-allocator van de Linux-kernel start. De voorgestelde wijziging zit in mm/memblock.c, in de functies memblock_add_range() en memblock_isolate_range(). Die zoeken kandidaatregio’s in het geheugenbereik.

Tarun Sahu plaatste het patchvoorstel op 3 september 2026. Op 24 oktober meldde Phoronix dat de wijziging was meegestuurd in een memblock-pullrequest voor Linux 7.4.

Hoe de voorgestelde patch zoekt

De patch vervangt het herhaald doorlopen van regio’s vanaf het begin door binair zoeken. Daarbij wordt het zoekgebied telkens kleiner, totdat de functie een kandidaatregio vindt. Dat is vooral relevant wanneer het fysieke geheugen sterk gefragmenteerd is en uit veel losse delen bestaat.

Sahu beschrijft de herhaalde lineaire scans in die gefragmenteerde situatie als O(N²). Met binair zoeken noemt hij O(N log N) als complexiteit in het slechtste geval en O(N) bij toevoegingen die achteraan aansluiten. Voor kleine lijsten kan lineair zoeken juist efficiënt zijn, aldus Sahu.

Wat de KHO-tijden vergelijken

Linux 7.4-patch richt zich op snellere KHO-geheugenophaling

In de door Sahu beschreven KHO-casus duurde het ophalen van geheugen vóór de wijziging ongeveer 268 seconden en erna ongeveer 50 milliseconden. De workload omvatte circa 393.000 pagina’s.

Meting en scenarioVoor de wijzigingNa de wijziging
Geheugen ophalen voor KHO, circa 393.000 pagina’scirca 268 secondencirca 50 milliseconden

Deze tijden betreffen de genoemde KHO-bewerking. Ze zeggen niet hoeveel sneller een volledige Linux-start of een gewone toepassing wordt.

Een afzonderlijk workloadrapport

Kernelontwikkelaar Dongli Zhang rapporteerde een ander resultaat voor een systeem met 32 CPU’s en één node, met THP uitgeschakeld en 4K-pagina’s. In zijn opstartlog lag er vóór toepassing van de patch 38,355755 seconden tussen de markers mem-auto-init en SLUB; erna was dat 0,264273 seconden. Het gaat om de intervallen tussen die twee logmarkeringen in Zhangs workload.