Linux 6.8 kjarnaútgáfa

Eftir tveggja mánaða þróun kynnti Linus Torvalds útgáfu Linux 6.8 kjarnans. Meðal athyglisverðustu breytinganna: Xe bílstjórinn fyrir Intel GPUs, verndarstillingin fyrir blokkartæki með uppsettum skráarkerfum, Deadline miðlara verkefnaáætlunarkerfi, sjálfvirk fínstilling á samruna eins minnissíðum, fyrsti bílstjórinn á Rust tungumálinu, listmount og statmount kerfissímtöl, fjarlæging á bpfilter og SLAB vélbúnaði guest_memfd í KVM, gagnaaðgangssnið.

Nýja útgáfan inniheldur 15641 lagfæringar frá 2018 þróunaraðilum, plástrastærðin er 44 MB (breytingarnar höfðu áhrif á 12212 skrár, 663864 línum af kóða var bætt við, 339094 línum var eytt). Síðasta útgáfan var með 18405 lagfæringar frá 2066 forriturum, plástrastærðin var 72 MB. Um 42% allra breytinga sem kynntar eru í 6.8 tengjast tækjum, um það bil 15% breytinga tengjast uppfærslukóða sem er sértækur fyrir vélbúnaðararkitektúr, 14% tengjast netstafla, 6% tengjast skráarkerfum og 3% tengjast innri kjarna undirkerfum.

Það eru 6.8 milljón hlutir í Git geymslunni með kjarna 9.996, sem gefur til kynna að næsti kjarni 6.9 muni rjúfa áfanga 10 milljón Git hluti. Áður hafði breytingin á greinarnúmerum 3.x og 4.x vel fylgni við fjölda git-hluta í geymslunni - kjarna 3.0 var gefinn út þegar um það bil 2 milljónir hlutar voru í geymslunni og kjarna 4.0 - 4 milljónir hluta. Á sama tíma, árið 2019, sleit útgáfa 5.0 þessa rökréttu keðju, þar sem þegar hún var mynduð innihélt geymslan um það bil 6.5 milljónir git-hluta.

Helstu nýjungar í kjarna 6.8:

  • Diska undirkerfi, I/O og skráarkerfi
    • Bætti við stillingu til að loka fyrir beina skrift til að loka fyrir tæki sem eru með uppsett skráarkerfi (eftir að stillingin hefur verið virkjað mun rótnotandinn ekki geta gert breytingar á FS með aðgerðum á lokabúnaðarstigi). Sjálfgefið er að stillingin er óvirk og krefst þess að tilgreina BLK_DEV_WRITE_MOUNTED færibreytuna við byggingu. Fyrir skipting með Btrfs virkar blokkun ekki enn þar sem nauðsynlegar breytingar hafa ekki enn verið gerðar á Btrfs kóðanum.
    • Bætti við listmount() og statmount() kerfisköllum, sem gerir kleift að fá nákvæmar upplýsingar um uppsett skráarkerfi úr notendarými.
    • Í XFS skráarkerfinu er áfram unnið að því að innleiða möguleikann á að nota fsck tólið til að athuga og leiðrétta auðkennd vandamál á netinu, án þess að taka skráarkerfið af.
    • Ext4 notar dioread_nolock kallið fyrir blokkir sem eru minni en minnissíðu, sem bætir afköst með því að útrýma óþarfa læsingum. Sumum aðgerðum hefur verið breytt til að nota blaðsíðublöð.
    • Btrfs bætti við stuðningi við „nospace_cache“ fjallfánann til að slökkva á ókeypis blokk skyndiminni. Sumum aðgerðum hefur verið breytt til að nota blaðsíðublöð.
    • EROFS (Extendable Read-Only File System) skráarkerfið, hannað til notkunar á skrifvarið skiptingum, hefur bætt við stuðningi við undirsíðuþjöppun og bætt afköst í aðstæðum með lítið minni.
    • F2FS skráarkerfið hefur bættan stuðning fyrir svæðisbundin geymslutæki (að skipta hópum af blokkum eða geirum í svæði, þar sem aðeins er leyft að bæta við gögnum í röð með uppfærslu á öllum hópnum af blokkum).
    • Fyrir SMB skráarkerfið hefur hæfileikinn til að búa til blokkar- og táknrænar tækjaskrár verið útfærðar.
    • Stuðningur að hluta til að athuga og endurheimta heilleika uppsettra skráakerfa hefur verið bætt við Bcachefs.
    • Undirkerfi tækjakortlagningar styður ekki lengur MD_LINEAR, MD_MULTIPATH og MD_FAULTY meðhöndlun, sem voru úrelt árið 2021.
  • Minni og kerfisþjónusta
    • Zswap undirkerfið hefur verið bætt við getu til að þvinga niður „kaldar“ minnissíður sem ekki hafa verið opnaðar og mun líklegast vera ósótt, virkjaðar þegar það vantar vinnsluminni. Zswap skyndiminni síður sem eru settar út á skiptasneiðina, geyma þær í vinnsluminni í þjöppuðu formi þegar mögulegt er án þess að skola þær yfir á raunverulega óþjappaða skiptasneiðina á disknum. Breytingar sem gerðar eru þegar minni er lítið gera þér kleift að minnka stærð Zswap laugarinnar sem er geymd í vinnsluminni og losa um minni fyrir kerfið.
    • Zswap býður upp á nýja stillingu sem slekkur algjörlega á endurritun á raunverulegu skiptingarsneiðina ef skriftilraunin misheppnast, og skolar ekki síður sem þegar eru í zswap lauginni yfir í skiptingarsneiðina.
    • SCHED_DEADLINE miðlara vélbúnaðurinn hefur verið bætt við verkefnaáætlunina, sem leysir vandamálið við vannýtingu á örgjörvaauðlindum með venjulegum verkefnum þegar örgjörvinn er einokaður af forgangsverkefnum (rauntíma). Til að koma í veg fyrir einokun örgjörva notaði kjarninn áður rauntíma inngjöf vélbúnaðar, sem reyndi að taka frá 5% fyrir verkefni með litlum forgangi, sem skildi 95% tímans eftir fyrir rauntímaverkefni. Þessi vélbúnaður skildi eftir sig miklu þar sem venjuleg verkefni í mörgum aðstæðum fengu ekki nægan örgjörvatíma. SCHED_DEADLINE þjónn innleiðir skilvirkari tilfangapöntunarkerfi.
    • DAMON (Data Access MONitor) undirkerfið, sem gerir þér kleift að fylgjast með aðgangi ferlis að gögnum í vinnsluminni (t.d. geturðu fundið út hvaða minnissvæði ferlið opnaði og hvaða minnissvæði voru ósótt), hefur bætt við kerfi til að stilla sjálfkrafa árásargirni minnisnotkunar miðað við tilgreinda kvóta.
    • Bætti við stuðningi við stórar minnissíður í mörgum stærðum (mTHP - multi-size Transparent Huge Pages), sem gerir þér kleift að úthluta minni í blokkum stærri en grunnsíðuna, en minni en hefðbundin THP síða.
    • Bætti við stuðningi við stórar blöð (blaðsíðublöð, samsettar minnissíður) fyrir nafnlaust minni (ekki bundið við FS, til dæmis, úthlutað með malloc). Breytingin miðar að því að bæta árangur með því að úthluta stórum klumpur af minni við aðgang að óúthlutuðum minnissíðum (síðuvillur). Til dæmis gerði notkun á miklu magni mögulegt að stytta endursamsetningartíma kjarna um 5% (samhliða því að draga úr tíma sem varið er á kjarnastigi um 40%).
    • TRANSPARENT_HUGEPAGE_NEVER færibreytunni hefur verið bætt við kjarnastillingarskrána, sem gerir það mögulegt að slökkva á notkun Transparent Huge Pages.
    • Userfaultfd() kerfiskallið, sem gerir það mögulegt að búa til meðhöndlun til að fá aðgang að óúthlutuðum minnissíðum (síðuvillur) í notendarými, hefur bætt við UFFDIO_MOVE aðgerðinni, sem gerir, meðan á hrúguþjöppun stendur, að færa minnissíður í sýndarvistfangarýminu án þess að að framkvæma minnissíðuúthlutunaraðgerð. Í prófunum sem gerðar voru gerði notkun UFFDIO_MOVE okkur kleift að stytta pökkunartímann um 40% samanborið við notkun UFFDIO_COPY aðgerðarinnar.
    • „KSM ráðgjafa“ kerfi hefur verið bætt við, sem gerir þér kleift að fínstilla sjálfkrafa færibreytur undirkerfisins til að sameina eins minnissíður (KSM - Kernel Samepage Merging).
    • Áframhaldandi flutningur á breytingum frá Rust-for-Linux útibúinu sem tengist notkun Rust tungumálsins sem annað tungumál til að þróa rekla og kjarnaeiningar (Rust stuðningur er ekki virkur sjálfgefið og leiðir ekki til þess að Rust sé tekið með í nauðsynlegar samsetningarháðar fyrir kjarnann). Nýja útgáfan felur í sér breytingar sem bæta við Ryð umbúðum fyrir ofan phylib útdráttarstigið og ax88796b_rust reklum sem notar þessa umbúðir, sem veitir stuðning fyrir PHY tengi Asix AX88772A (100MBit) Ethernet stjórnanda. Hvað varðar virkni er Rust driverinn algjörlega jafngildur gamla ax88796b drivernum, skrifaður í C, og hægt að nota hann með X-Surf 100 netkortum sem eru búin AX88796B flísinni. Fyrir LoongArch arkitektúrinn er hægt að skrifa einingar á Rust tungumálinu. Skiptingin yfir í notkun Rust 1.74.1 útgáfunnar hefur verið gerð.
    • BPF táknkerfi hefur verið bætt við sem gerir þér kleift að framselja vinnslu á tilteknum BPF getu, eins og að hlaða BPF forriti eða búa til BPF kort, til óforréttinda ferla í notendarými, réttmæti þeirra er staðfest með sérstöku tákni.
    • Virkni BPF forrits sannprófanda hefur verið aukin.
    • Perf tólið hefur bætt við stuðningi við gagnasnið, sem gerir þér kleift að fylgjast með lestri og ritun í gagnabyggingar, til dæmis til að bera kennsl á virkasta breyttu reiti mannvirkjanna. Í kerfum með örgjörva sem styðja söfnun upplýsinga um minnisaðgerðir (Intel, AMD, ARM) ættirðu að nota „perf mem record“ skipunina til að safna tölfræði og „perf annotate –data-type“ til að birta skýrslu um aðgang að gögnum mannvirki.
    • Afköst kerfissímtalsvinnslu á s390 (IBM Z) arkitektúrnum voru fínstillt, sem í prófunum leiddi til hröðunar á innkomu kerfissímtala um það bil 11%.
    • Möguleikinn á að breyta stærð rekja biðminni sem notaður er til að biðja upplýsingar um rakningaratburði sem sendar eru á notendarými hefur verið veitt.
    • Áður úrelta SLAB minni úthlutunarbúnaðurinn hefur verið fjarlægður og kemur í stað þess að kjarninn notar nú aðeins SLUB. Ástæðurnar sem nefnd eru eru viðhaldsvandamál, vandamál í kóðanum og tvíverknað á virkni með fullkomnari SLUB úthlutunartækinu.
    • Þegar kjarninn er byggður er „-Wmissing-prototypes“ fáninn virkur, sem býr til viðvaranir fyrir símtöl í alþjóðlegar aðgerðir sem hafa ekki frumgerðaskilgreiningu.
    • Fyrir RISC-V arkitektúrinn á kerfum sem styðja SUSP SBI viðbótina hefur stuðningur við að fara í biðham með ástandssparnaði í vinnsluminni verið innleiddur. Veitti möguleika á að nota riscv_hwprobe() kerfiskallið til að fá upplýsingar um studdar viðbætur á RISC-V leiðbeiningasett arkitektúr.
  • Sýndarvæðing og öryggi
    • Bætt við nýjum kerfiskallum lsm_list_modules(), lsm_get_self_attr() og lsm_set_self_attr() til að skrá hlaðnar LSM einingar (Linux Security Modules) og fá/setja eiginleika LSM eininga. Nýrri lsm_ctx uppbyggingu hefur verið bætt við fyrir samskipti í LSM samhengi milli notendarýmis og kjarnans.
    • AppArmor undirkerfinu hefur verið skipt yfir í að nota SHA-256 reikniritið til að sannprófa reglur, í stað SHA-1 kjötkássa.
    • Útfærsla strlcpy() fallsins, sem var innifalin í Glibc 3.38 C bókasafninu í sumar, hefur verið fjarlægð úr kjarnanum. Strlcpy er valkostur við strncpy() aðgerðina, sem inniheldur biðminni yfirflæðisvörn og stillir alltaf aftan núllbæti.
    • Í yfirvöktunarkerfinu KVM Stuðningur hefur verið bætt við fyrir undirkerfið guest_memfd (guest-first memory), sem býður upp á minnisstjórnunaraðgerðir sem gera kleift að nota eiginleika og hagræðingar sem ekki er hægt að ná með almenna minnisstjórnunarkerfinu. Til dæmis gerir guest_memfd kleift að úthluta og kortleggja minni sem gestakerfið hefur ekki aðgang að, og sem hægt er að nota fyrir trúnaðarútreikninga.
    • Fyrir gestakerfi sem keyra KVM hypervisor er stuðningur innifalinn fyrir LAM (Linear Address Masking) ham sem er í Intel örgjörvum, sem gerir kleift að nota hluta af bitum 64 bita bendila (frá 57 til 62 bita) til að geyma lýsigögn sem ekki tengjast ávarp.
    • KVM hypervisor fyrir kerfi byggð á ARM64 arkitektúr hefur bætt við stuðningi fyrir 52-bita (LPA2) efnisföng. Fyrir kerfi með x86 arkitektúr er hægt að byggja án þess að líkja eftir Hyper-V hypercalls, sem gerir kleift að minnka stærð kjarnans.
    • Iaa (IAA Compression Accelerator) reklanum hefur verið bætt við til að flýta fyrir notkun gagnaþjöppunar og -þjöppunar með DEFLATE aðferðinni, með því að nota eiginleika Intel Analytics Accelerator (IAA) dulritunarhraðalanna.
    • Á hýsingarmegin hefur verið innleiddur stuðningur við Intel TDX (Trusted Domain Extensions) kerfið, sem gerir kleift að búa til örugg gestaumhverfi sem nota minnisdulkóðun þegar KVM hypervisor er notaður. sýndarvélar.
    • SELinux hefur bætt við „init“ SID til að bera kennsl á ræsiferli sem voru hafin áður en SELinux reglum var beitt. Bætt /sys/fs/selinux viðmót til að stjórna SELinux.
  • Net undirkerfi
    • Lágmarks endurskipulagning á undirliggjandi netgagnaskipulagi var framkvæmd til að bæta skilvirkni skyndiminni. Áður var reitum í sokkum, netdev, netns og mibs netstafla skipulagi raðað eftir því sem þeim var bætt við, sem takmarkaði notkun örgjörva skyndiminni. Endurskoðun á staðsetningu breyta í mannvirkjum leiddi til merkjanlegrar aukningar á TCP hraða, þökk sé lágmarksnotkun skyndiminnislína á gagnaflutningsstigi og hámarksaðgengi að breytum. Í þeim tilvikum þar sem unnið er með margar samhliða TCP-tengingar getur hraðaupphlaupið orðið 40%.
    • Bpfilter undirkerfið, sem notar BPF til að sía pakka, hefur verið fjarlægt. Bpfilter hefur verið sent frá útgáfu 4.18, en hefur aldrei verið þróað í það stigi sem hentar fyrir almenna notkun. Undanfarin ár hefur bpfilter kóðann ekki verið þróaður í kjarnanum og þróun hefur haldið áfram af Facebook í hótelgeymslu.
  • Оборудование
    • Pakkinn inniheldur nýjan drm driver (Direct Rendering Manager) Xe fyrir GPU sem byggir á Intel Xe arkitektúrnum, sem er notaður í Intel Arc fjölskyldu skjákortum og samþættri grafík, og byrjar með Tiger Lake örgjörvum. Xe ökumaðurinn er staðsettur sem grunnur til að láta nýja flís virka, án þess að vera bundinn við kóðann til að styðja eldri palla. Ökumaðurinn er smíðaður með því að nota nýjan arkitektúr sem nýtir í auknum mæli núverandi DRM undirkerfisíhluti, sem og almenna i915 ökumannsíhluti sem eru ekki tengdir tilteknum GPU, svo sem skjásamskiptakóða, minnislíkan og execbuf útfærslu. Í Mesa er að keyra OpenGL og Vulkan ofan á Xe driverinn útfært með breytingum sem gerðar eru á núverandi Mesa Iris og ANV rekla.
    • Í i915 reklanum heldur áfram vinna við að innleiða stuðning fyrir Intel LunarLake (Xe 2) flís. Bættur stuðningur við Intel Meteor Lake flís.
    • Nouveau bílstjórinn er stilltur til að nota GSP fastbúnaðaraðgerðir sjálfgefið til að vinna með NVIDIA GPU sem byggir á Turing og Ampere örarkitektúrum, þar sem frumstilling og stýriaðgerðir GPU eru framkvæmdar af sérstökum GSP örstýringu (GPU System Processor). Þegar stillingin er virkjuð mun ökumaðurinn vinna með því að fá aðgang að fastbúnaðinum, í stað þess að forrita aðgerðir beint til að hafa samskipti við búnaðinn.
    • AMDGPU bílstjórinn inniheldur stuðning fyrir ACPI WBRF og VPE DPM, vinnslu PCIe rásarhraða hefur verið breytt, 64 bita raðnúmer eru notuð í biðröðunum sem notaðar eru við samstillingu, stuðningi við AMD sértæka litastjórnunarkerfi hefur verið bætt við, og vandamál með að skipta yfir í svefnstillingu hefur verið leyst.
    • Bætti við upphaflegri útfærslu á reklum fyrir Broadcom VideoCore 7.1 GPU sem notaður er í Raspberry Pi 5 borðum.
    • Bætt við reklum fyrir PowerVR 6 seríu GPU sem byggir á Rogue örarkitektúr frá Imagination Technologies.
    • Bætti við stuðningi við Thunderbolt/USB4 stýringar sem eru samþættar í flís byggðar á Intel Lunar Lake örarkitektúr.
    • Bætt við rekla fyrir myndavélar notaðar í SoC Starfive, GalaxyCore GC2145/GC0308, Chips&Media Wave og THine THP7312.
    • Bætt við stuðningi við NSO (Nintendo Switch Online) leikstýringar - afbrigði af gömlum stýrisbúnaði frá SNES (Super Nintendo), Genesis og N64 (Nintendo 64), aðlagaðar fyrir Nintendo Switch. Bætti við reklum fyrir Adafruit Seesaw spilatölvur. Stuðningur fyrir Lenovo Legion Go stýringar hefur verið bætt við xpad driverinn.
    • Dts bílstjórinn styður nú Powkiddy RK2023, Powkiddy X55 og Anbernic RG351V leikjatæki.
    • Bætt við stuðningi við hljóðkerfi sem notuð eru í NXP i.MX8m MICFIL, Qualcomm SM8250, AMD ACP5x, Intel Arrow Lake, SM8550, SM8650 og X1E80100 flögum.
    • AMD hefur gert breytingar sem tengjast stuðningi við framtíðaröð örgjörva byggða á nýja Zen 5 örarkitektúrnum.
    • Bætti við stuðningi fyrir ARM64 SoC: Qualcomm SM8650 (Snapdragon 8 Gen 3), Qualcomm X1E80100 (Snapdragon X Elite), Samsung Exynos Auto v920, Google GS101 (Tensor G1), MediaTek MT8188 og Unisoc UMS9620 (TMS7).
    • Bætt við stuðningi við ARM töflur og tæki: Huashan Pi, Microsoft Lumia, HTC One Mini 2, Motorola MotoG 4G, Huawei Honor 5X/GR5, Anbernic RG351V, Powkiddy RK2023, Powkiddy X55, ComXpress byggt á Marvell CN913us og Lenovo Ac Chromebook, As byggt á Mediatek MT8183, Toradex Verdin AM62, plötur byggðar á Allwinner H616/H618.
    • Stuðningur við ARM11 ARMv6K SMP örgjörva hefur verið hætt.

Á sama tíma myndaði Latin American Free Software Foundation útgáfu af algerlega ókeypis kjarna 6.8 - Linux-libre 6.8-gnu, hreinsaður af hlutum fastbúnaðar og rekla sem innihalda ófrjálsa íhluti eða hluta af kóða, umfang þeirra er takmarkað af framleiðanda. Í útgáfu 6.8 hefur blobhreinsunarkóði í ýmsum reklum og undirkerfum verið uppfærður. Intel qat_420xx, Imagination PowerVR, Intel Xe, Chips&Media Wave5, Intel VSC, Aquantia PHY og Realtek rtw8922a reklar voru hreinsaðir. Vegna fjarlægingar úr kjarnanum hefur hreinsun á atmel, hermes, orinoco_usb, libertas_cs og zd1201 reklum verið hætt. Hreinsaði upp blob nöfn í dts skrám (devicetree) fyrir ARM og Aarch64 arkitektúr. Vandamál við að þrífa i915 bílstjórinn hafa verið lagaður.

Heimild: opennet.ru

Bæta við athugasemd