Na twee maanden werken, Linus Torvalds heeft de lancering aangekondigd vanen de nieuwe versie van de Kernel linux 6.13, wat belangrijke vooruitgang en nieuwigheden met zich meebrengt. Onder de belangrijkste nieuwigheden die het presenteert, valt het op: een Lazy preemption-model, dat zich tussen vrijwillige en volledige modi bevindt, het opnemen van ondersteuning voor atomaire schrijfbewerkingen naar bestandssystemen zoals XFS en Ext4.
Andere wijzigingen zijn onder meer het virtuele cpufreq-stuurprogramma, de nieuwe netlink net-shap APIer, en een tmpfs-mountmodus die nu hoofdlettergevoelig is, samen met ondersteuning voor POSIX-extensies in SMB3, en een cache-optimalisatiestuurprogramma van AMD.
Deze nieuwe versie heeft de bijdrage gehad van 2086 ontwikkelaars die in totaal 14,172 reparaties hebben uitgevoerd, die 15,375 bestanden beïnvloedden en resulteerden in de toevoeging van 598,707 regels code, met de eliminatie van 406,294 regels.
Belangrijkste nieuws in Linux 6.13
Kernel 6.13, een van de belangrijkste veranderingen is de introductie van het ‘fijnkorrelige tijdstempels’-mechanisme wat de precisie verbetert bij het verkrijgen van gegevens over wijzigingen of toegang tot bestanden, waardoor een nauwkeurigheid van meer dan een milliseconde wordt bereikt zonder de prestaties negatief te beïnvloeden.
Een andere nieuwe functie die de Linux Kernel 6.13 presenteert, is de sondersteuning voor atomaire schrijfbewerkingen, wat ervoor zorgt dat gegevens groter dan de grootte van een sector atomair worden geschreven naar apparaten die deze functie ondersteunen. Momenteel is deze functionaliteit Het is beschikbaar in bestandssystemen zoals XFS, Ext4 in O_DIRECT-modus, en in RAID 0/1/10-configuraties met md.
Wat andere bestandssystemen betreft, is Linux 6.13 markeert de definitieve verwijdering van ReiserFS, ondersteunt EROFS nu de opties SEEK_HOLE en SEEK_DATA in lseek(), while F2FS heeft ondersteuning toegevoegd voor apparaataliassensy XFS heeft ondersteuning toegevoegd voor quota's op realtime apparaten en verbeterd beheer van metadata-directory's. Bovendien ondersteunt SMB3 nu POSIX-extensies die nodig zijn om speciale bestanden op te slaan, zoals symbolische koppelingen en apparaatbestanden.
Bij geheugen- en systeemservices is de nieuw lui voorkeursmodel (PREMPT_LAZY). Dit model Hiermee kunt u het voorkoopvermogen behouden voltooit voor realtime taken, terwijl de voorrang op normale taken wordt uitgesteld tot aan de tick-limiet. Bovendien vereenvoudigt het model de logica van de taakplanner door stuurprogramma's uit andere delen van de kernel uit het planningsproces te verwijderen.
Wat betreft bouwoptimalisaties, ondersteuning voor AutoFDO-optimalisaties bij het compileren met Clang is geïntegreerd, die uitvoeringsprofielen gebruiken om code af te stemmen en de prestaties te verbeteren, hebben aangetoond dat ze de latentie met 10% verminderen. Er is ook een nieuwe vlag toegevoegd aan de madvise() systeemaanroep om het procesgeheugenbeheer te verbeteren. Met de vlag MADV_GUARD_INSTALL kunt u specifieke paginabeveiligingsadressen overschrijven, waardoor toegangsuitzonderingen (SIGSEGV) worden voorkomen zonder dat u nieuwe virtuele geheugengebieden hoeft toe te wijzen.
IO_uring heeft ook verschillende verbeteringen ondergaan, inclusief de mogelijkheid om het formaat van buffers te wijzigen, berichten synchroon te verzenden tussen ringbuffers en buffers gedeeltelijk te klonen. Daarnaast is hybride I/O polling geïmplementeerd en is de API uitgebreid om ringbuffers en geheugengebieden te registreren.
De hardwareverbeteringen, de mogelijkheid om "split-locks" op AMD CPU's te detecteren is toegevoegd, een fenomeen dat optreedt wanneer gegevens niet goed zijn uitgelijnd in het geheugen en twee cacheregels doorlopen, wat de prestaties ernstig kan beïnvloeden. Om dit probleem te verhelpen is het AMD Cache Optimizer-stuurprogramma geïntegreerd, dat gebruik maakt van AMD 3D V-Cache-technologie om de prestaties van individuele CPU-kernen te verbeteren, hetzij door de grootte van de beschikbare L3-cache te vergroten, hetzij door de frequentie te verhogen.
Voor architecturen MIPS, ondersteuning is toegevoegd voor systemen met meerdere interruptcontrollers. clusters, waardoor voor elk CPU-cluster een afzonderlijke interrupthandler wordt geboden. Er is ook een nieuwe ioctl-bewerking, PIDFD_GET_INFO, geïmplementeerd, waarmee informatie over een proces kan worden verkregen met behulp van de PIDFD-identifier, die constant blijft, zelfs als de bijbehorende PID verandert wanneer het proces eindigt.
En ARM omvatten de belangrijkste verbeteringen ondersteuning voor het draaien van Linux op virtuele machines beschermd door de Arm Confidential Computing Architecture, evenals ondersteuning voor schaduwstacks in de gebruikersruimte, waardoor de beveiliging wordt verbeterd. Het implementeert ook een nieuw telmechanisme voor bestanden, waarnaar wordt verwezen, het bereiken van een grotere schaalbaarheid.
El De taakplanner ondersteunt nu een proxy-uitvoeringsmechanisme, waarmee het prioriteitsinversieprobleem wordt opgelost. Dit mechanisme voorkomt dat taken met een lage prioriteit de middelen in beslag nemen die nodig zijn voor taken met een hoge prioriteit (in realtime), waardoor deze worden geblokkeerd. Bovendien zijn de programmeer- en uitvoeringscontexten van de processen gescheiden.
Aan de andere kant benadrukt het de migratie van wijzigingen gerelateerd aan het gebruik van Rust bij de ontwikkeling van stuurprogramma's en kernelmodules. Hoewel Rust-ondersteuning is standaard niet ingeschakeld, bindingen en datastructuren zijn toegevoegd om het schrijven van stuurprogramma's in deze taal mogelijk te maken, inclusief ondersteuning voor traceergebeurtenissen en het Binder-stuurprogramma herschreven in Rust.
Het subsysteem BPF is verbeterd door de implementatie van een aparte stapel voor BPF-programma's, waardoor het risico op overflows wordt verminderd bij het verwerken van grote reeksen oproepen. De mogelijkheid om signalen naar andere processen te sturen en om gedeeld geheugen in BPF-kaarten te gebruiken is ook toegevoegd, waardoor de belastingcommunicatie tussen de stuurprogramma's van de taakplanner wordt vergemakkelijkt.
Bovendien is de Het bijhouden van uitzonderingen is verbeterd om paginafouten te genereren wanneer tracepoints worden geactiveerd in systeemaanroepen, waardoor parameters die vanuit de gebruikersruimte worden doorgegeven, kunnen worden gelezen. De parameter transparant_hugepage_shmem is ook toegevoegd om het gebruik van grote geheugenpagina's op tmpfs- en shmem-bestandssystemen te controleren.
In netwerken wordt het geïntroduceerd ondersteuning voor het opschorten van NAPI tijdens inactiviteit, verbetering van het stroomverbruik, en een nieuwe API voor netwerkapparaten die geavanceerde configuratie van transmissiehardware (TX) mogelijk maakt. Bovendien heeft io_uring verschillende optimalisaties ondergaan die de afhandeling van asynchrone invoer/uitvoer-bewerkingen verbeteren.
Eindelijk is het geïmplementeerdreal-time ondersteuning voor Loongarch-architectuur en nieuwe uitbreidingen van de RISC-V-architectuur, die het maskeren van verwijzingen in de gebruikersruimte mogelijk maken. Om de compressie van kernelafbeeldingen te verbeteren, is het standaardalgoritme gewijzigd in lz4, ter vervanging van lz4c.
Wilt u er meer over weten, dan kunt u de details raadplegen In de volgende link.