Megérkezett a Linux kernel 3.2
Menetrend szerint, két hónappal az előző verziót követve megérkezett a Linux kernel 3.2-es változata, amely számos módosítást tartalmaz.
A kernel.org feltörése miatt a 3.1-es rendszermag a szokásosnál hosszabb ideig, három hónapig készült, a 3.2-es verzió azonban a korábban megszokott bő két hónapos szünettel követte október végén kiadott elődjét. A végleges verzió hét kiadásra jelölt változat megszületése után január 4-én jelent meg. A változások listája hosszú, a commitok száma 11881, amire évek óta nem volt példa - utoljára a 2.6.39-es kernel tartalmazott 10 ezernél is több commitot, 11 ezer fölött pedig csak a 2.6.37 járt az utóbbi években.
Hálózat- és háttértárkezelés
Az új rendszermag legfontosabb változásai a hálózat- és háttértárkezelést érintik. Hálózatkezelés terén említésre méltó fejlesztés a TCP Proportional Rate Reducion (PRR) támogatásának megjelenése a kernelben. A Google által kigondolt, és az Internet Engineering Task Force-nak is beterjesztett algoritmus célja annak a helyzetnek a hatékony kezelése, amikor egy TCP kapcsolat a túl sok továbbított üzenet miatt "eltömődik". Jelenleg két algoritmus terjedt el széles körben ennek kivédésére, a Fast Recovery és a Rate Halving, de a kidolgozói szerint a PRR ezeknél kevésbé "óvatos" és tényleg csak annyira csökkenti a hálózati forgalmat, hogy az még használható maradjon, a teljesítmény nem csökken akár egy nagyságrenddel.
A sok disztribúcióban alapértelmezett Ext4 fájlrendszer már kezeli a nagy foglalási blokkokat. A bigalloc néven ismert eljárást a 4 kilobájtos blokkokat akár 1 megabájtos csoportokban is tudja kezelni, ami nagy méretű állományok írásánál jelentősen csökkenti a rendszer adminisztrációs terhelését, ezáltal javítja a teljesítményt - a CPU-terhelés negyedével is csökkenhet. A fejlesztők módosítottak a CIFS kódon is, így a Samba és Windows megosztások elérése felgyorsult. Az Oracle-mérnökök irányításával készülő Brtfs fájlrendszer is frissítést kapott, amely a teljesítmény mellett a megbízhatóságot javítja.
A 3.2-es rendszermagban a blokkeszközöket virtualizáló device-mapper kerneldriverben megjelent a persistent data library, amely a device mapper "targetek" metaadatainak tárolására szolgáló keretrendszer. Ezt felhasználva a dm-thin lehetővé teszi a Linux 3.2-t használó rendszereken a thin provisioninget, amely a rendelkezésre álló tárterület hatékony felhasználását célozza - egy tárolóeszköz az alkalmazások és a felhasználók számára a tényleges fizikai kapacitásánál nagyobb köteteket is tud láttatni. A dm-thin emellett lehetővé teszi rekurzív snapshotok helytakarékos tárolását is, így gyakorlatilag tetszőleges mennyiségű rekurzív snapshot készíthető.
Machine recruiting: nem biztos, hogy szeretni fogod Az AI visszafordíthatatlanul beépült a toborzás folyamatába.
A Microsoft mérnökeinek hála javult a Linux kernel és a Hyper-V virtualizációs köztesréteg közötti együttműködés. Bekerült a rendszermagba a Hyper-V clocksource driver, de számos további meghajtó is elhagyta a staging állapotot - viszont az emulált egér, hálózat és tároló driverek továbbra is ott maradtak, ezek feltehetően a 3.3-as kernelben élesednek.
Újdonságok a kernel mélyéről
Főleg a cloudok üzemeltetői számára lehet hasznos a CFS ütemező fejlesztése, a CPU Bandwith Control, amellyel gátat lehet szabni egy adott szál vagy szálcsoport által felhasznált processzoridőnek - be lehet állítani, hogy adott idő alatt hány milliomod másodpercnyi időszeletet tölthet a CPU a feldolgozással. Ezzel lehetővé válik például a cloudszolgáltatók számára az ügyfelek által elfogyasztott számítási kapacitás korlátozása (csak annyit kapnak amennyiért fizettek).
Szintén a rendszermag "mélyét" érintő fejlesztés, hogy a sok adatot író szoftvereket féken tartja a 3.2-es kernel, így nem fordulhat elő, hogy egy lassabb háttértárra (pl. USB pendrive) írás következtében a rendszer kevéssé válaszképes a felhasználó számára. A javítás elsőre pofonegyszerűnek tűnik, de csak ha valaki érti, mi történik a háttérben - ehhez jó támpontot nyújt az LWN novemberi cikke. A 2.6.38-as kernelben élesedett a Red Hat mérnökeinek vezetésével fejlesztett transparent huge pages (THP), amelynek köszönhetően a Linux a modern processzorokon hatékonyabban kezeli a nagy memórialapokat. A nagy memórialapok használatához az is kell, hogy a kernel a foglalt memórialapokat egyetlen egybefüggő területté szervezze ("compaction"), hogy később le lehessen foglalni nagy egybefüggő memóraterületeket, nagy lapokat.
Bekapcsolt THP esetén a kernel laphiba esetén nem egy 4096 bájtos lapot, hanem egy tiszta "huge page"-et készít elő, amelynek a mérete akár 2048 kilobájt is lehet. Amennyiben egy lap lefoglalásakor nem áll rendelkezésre elegendő hely, a rendszermag azonnal elkezdi a memórialapok átszervezését ("synchronous compaction"). A háttértárra írás közben a rendszer lassulását, a válaszképesség elvesztését az okozza hogy hirtelen sok memórialap válik szennyezetté, kiírásra várva, de a memória kezelését végző kód ezeket addig nem tudja átrendezni, míg az I/O művelet be nem fejeződött - addig vár, amíg a lapok kiírása nem történt meg, ami egy lassú háttértár esetén akár másodpercekig is tarthat. A problémára a megoldás frappáns: laphiba esetén a kernel nem huge page-et, hanem egy sima lapot foglal le a memóriában, így nincs szükség a lapok átrendezésére.
Örülhetnek a notebookjukon Linuxot használók
Szokás szerint a grafikus driverek terén is hoz előrelépéseket az új kernel - itt érdemes kiemelni, hogy az Intel chipkészletbe és processzorba integrált grafikus vezérlőihez fejlesztett RM/KMS meghajtó alapértelmezésként bekapcsolt RC6-támogatással érkezik. Az RC6 az Intel GPU-k által támogatott energiatakarékos állapot, amelynek alapértelmezett használatát a 3.1-es rendszermagban kikapcsolták a fejlesztők, mivel egyes Sandy Bridge-alapú gépeken stabiltási problémákat okozott. A javításoknak köszönhetően a 3.2-es rendszermagot futtató laptopok fogyasztása és üzemideje terén érezhető javulásra lehet számítani.
Szintén a linuxos laptopok használói számára lehet örömhír, hogy a hosszas tesztelési folyamat után bekerült a rendszermagba a Broadcom által fejlesztett nyílt forrású Brcm80211 Wi-Fi driver, amely számos vezeték nélküli vezérlőchipet támogat. Ugyanez történt az (immár a Qualcomm részévé vált) Atheros által gyártott AR600x sorozatú Wi-Fi chiphez készített meghajtóval is. A rendszermag fejlesztői javítottak az AMD Bulldozer architektúrára épülő processzorok cache-kezelésén is - ezeket a fejlesztéseket a 3.0 és 3.1 verziójú kernelekbe is visszaportolják a fejlesztők. A 3.2-es kernelbe bekerült a Qualcomm Hexagon digitális jelfeldogozó processzorok támogatása is.
A 3.2-es kernel újdonságairól részletesen a Linux Kernel Newbie cikkében lehet olvasni.