Avaldati mĂ€luhaldusteegi jemalloc 5.4.0 vĂ€ljalase, mis pakub malloc-funktsioonide alternatiivset teostust, mis on optimeeritud killustumise vĂ€hendamiseks ja tööks mitmeprotsessorilistes sĂŒsteemides. Lukustustega seotud probleemide lahendamiseks mitmetuumalistes sĂŒsteemides kasutab jemalloc iga CPU tuuma jaoks eraldi isoleeritud mĂ€lueraldusala, mis vĂ”imaldab saavutada lĂ”imearvu kasvades lineaarse skaleeruvuse.
2025. aasta juunis lĂ”petas projekti autor hoolduse ja viis jemalloci hoidla arhiivireĆŸiimi, kuid tĂ€navu mĂ€rtsis taaskĂ€ivitas arenduse ettevĂ”te Meta, kes kasutab jemalloci oma infrastruktuuris. Algselt töötati teek vĂ€lja FreeBSD jaoks ning selles operatsioonisĂŒsteemis on see vaikimisi kasutusel alates 2005. aastast. Teegi kood on kirjutatud C-keeles ja seda levitatakse BSD litsentsi alusel.
Muudatuste seas:
- Lihtsustati tcache'i (Thread Local Cache) tĂ€itmise ja tĂŒhjendamise loogikat ning mĂ€lueralduse suunamist.
- Ăhtlustati mĂ€lulehtede eraldajad PAC (Page Allocator Classic) ja HPA (Huge Page Allocator). Eemaldati keerukas kaudsete vĂ€ljakutsete mehhanism vtable'i kaudu (PAI vtable).
- Hoolduse lihtsustamiseks ja platvormide toe laiendamiseks viidi kÔik platvormispetsiifilised toimingud eraldi pÀisefailidesse.
- Lihtsustati mallctl-kÀskude suunamist ning uuendati statistika genereerimise ja vÀljastamise taristut.
- Lisati lipp EXTENT_ALLOC_FLAG_PINNED, mis vÔimaldab mÀrkida mittevÀljatÔrjutavaid mÀlu kaardistamise alasid, nÀiteks HugeTLB lehti, et neid eelistatult uuesti kasutada. Kinnitatud mÀlu kasutuse statistika saamiseks lisati uued mallctl-liidesed: stats.pinned, stats.arenas..pinned, stats.arenas..extents..npinned, stats.arenas..extents..pinned_bytes ja stats.arenas..mutexes.extents_pinned.{counter} .
- malloci statistika sisu viidi kooskÔlla loetavas ja JSON-vormingus.
- Eemaldati aegunud parameetrid lg_tcache_nslots_mul, tcache_nslots_small_min, tcache_nslots_small_max, tcache_nslots_large, tcache_gc_delay_bytes, lg_tcache_flush_small_div ja lg_tcache_flush_large_div.
Allikas: opennet.ru
