Linux çekirdeğinde erken önyükleme bellek ayırıcısı hızlandı
Öne çıkanlar
- Google mühendisi Tarun Sahu doğrusal arama yerine ikili arama algoritması getirdi.
- KHO bellek geri alma süresi yaklaşık 268 saniyeden 50 milisaniyeye indi.
- İkili arama en kötü durum karmaşıklığını O(N log N) seviyesine düşürdü.
- Optimizasyon Linux 7.4 çekirdeği için hazırlanan yama setinde yer aldı.
Linux 7.4 çekirdeği için sunulan yeni bir yama seti, sistemin erken önyükleme aşamasında kullanılan fiziksel bellek ayırıcısının başarımını büyük ölçüde artırdı. Tam sayfa ayırıcısı devreye girmeden önce çalışan mm/memblock.c bileşenindeki algoritma güncellemesi, belirli koşullar altındaki bellek tarama süresini yaklaşık 268 saniyeden 50 milisaniyeye düşürdü. Geliştirme, çekirdeğin yeni sürümüne yönelik memblock çekme isteği kapsamında paylaşıldı.
Google mühendisi Tarun Sahu, aday bellek bölgelerini arayan memblock_add_range() ve memblock_isolate_range() işlevlerinde ikili arama yerine doğrusal arama kullanıldığını belirledi. Özellikle Kernel Handover (KHO) gibi işlevlerin yoğun parçalanmaya yol açtığı ve ayrık sayfalar oluşturduğu senaryolarda doğrusal tarama ciddi gecikmelere neden oluyordu. Kod tabanına eklenen ikili arama yöntemi, bu aşamadaki karmaşıklığı en kötü durumda O(N log N) seviyesine çekti.
Bu optimizasyon doğrudan erken önyükleme sürecini kapsadığı için normal çalışma anındaki bellek yönetimini etkilemiyor. Ancak KHO ve Live Update Orchestrator gibi mekanizmalar üzerinden kesintisiz güncelleme yapan kurumsal altyapılarda yeniden başlatma sürelerini belirgin şekilde kısaltıyor. İlgili yama setinin Linux 7.4 ana dalına dahil edilmesi planlanıyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.