Linuxi tuuma versioon 6.13.

Kaks kuud kestnud arendustööd Linus Torvalds esitles Linuxi tuuma 6.13 väljaannet. Kõige silmapaistvamate muudatuste hulka kuuluvad: laiskade prügikorjaja režiim ülesande ajakavas, toetamine atomaarseteks kirjutamiseks XFS ja Ext4, mehhanism 'multigrain timestamps', adaptiivne pollimise sisselülitamise režiim võrgualamsüsteemis, võimalus koostada AutoFDO optimeeringutega, ARM65 Guarded Control Stacki kaitsemehhanismi toetus, virtuaalmasinate isoleerimine ARM CCA laienduse abil, eraldi stackid BPF-is, ReiserFS-i eemaldamine, virtual-cpufreq draiver, netlink API net-shaper, tmpfs mountimisse režiim, mis arvestab täpseid sümboleid, POSIX laienduste tugi SMB3-is, AMD Cache Optimizer draiver.

Uues versioonis on 14172 parandust 2086 arendajalt, plaastri suurus on 46 MB (muudatused on puudutanud 15375 faili, lisatud on 598707 koodirida, kustutatud 406294 rida). Eelmises väljalaskes oli 14607 parandust 2167 arendajalt, plaastri suurus on 37 MB. Ligikaudu 52% kõikidest 6.13 esitatud muudatustest on seotud seadme draiveritega, umbes 13% muudatustest on seotud riistvarakujunditele spetsiifilise koodi uuendamisega, 11% on seotud võrgu стекiga, 4% -ga failisüsteemidega ja 3% sisemiste tuuma alamsüsteemidega.

Tuuma 6.13 põhijooned:

  • Diskisüsteem, sisend/väljund ja failisüsteemid
    • Lisatud on mehhanism 'multigrain timestamps', mis võimaldab saada teavet failide muutmise või juurdepääsu aja kohta täpsusega üle millisekundi, kuid ilma negatiivse mõjuta jõudlusele. Täpsuse tõstmine toob kaasa lisakoormusi, kuna metainfot kirjutatakse diskile intensiivsemalt, seetõttu luuakse soovitatud rakenduses täpsemad ajatempleid mitte kõigi failide, vaid ainult nende jaoks, millele protsessid taotlevad sarnaseid templeid, kutsudes välja getattr() funktsiooni.
    • Lisatud on atomaarsete kirjutamisoperatsioonide tugi, kus andmete kirjutamine, mille suurus ületab sektori suurust, toimub atomaarsete operatsioonide kaudu salvestusseadmetes, mis pakuvad sarnast võimalust. Praegu rakendatakse atomaarset kirjutamist XFS, Ext4 O_DIRECT (Direct I/O) režiimis ja md RAID 0/1/10 korral.
    • Pakutud on uus failide viidete arvestamise mehhanism, mis tagab jõudluse tõusu 3-5% rohkem kui 255 voogedastuse koormuste korral.
    • Eemaldatud on ReiserFS failisüsteemi rakendus, mis eelmisel aastal kuulutati vananenuks.
    • Lisatud on sysctl-parameeter «fs.dentry-negative», et määrata VFS-i poliitika «dentry» (kataloogelementide sisemine esitus) eemaldatud failide seoste puhul. Teatud koormuste korral on parem jätta säilitama selliseid eemaldatud failide kirjendeid, samas kui teistel juhtudel on vajalik eemaldamine, seetõttu on tuumas antud valiku võimalus (vaikimisi ei eemaldata «dentry» automaatselt).
    • Süsteemikutsesse statmount() on lisatud lipp STATMOUNT_OPT_ARRAY, et tagastada failisüsteemi valikute loend stringide massiivina, mis lõppeb nullmärgiga ja ei kasuta «\000» järgnevat märkide varjatud esitamist. Lisatud on tugi failisüsteemi alaühte (fs_subtype määramiseks FUSE'i kasutamiseks), ohutu mountimise valikute ja algse superbloki (sb_source) tagastamiseks.
    • OverlayFS-is on võimalik näidata kihte failide deskriptorite kaudu, mitte failiteede nimede kaudu.
    • Failisüsteemile tmpfs on lisatud mountimise variant «casefold» märkide suuruse eiramiseks ja variant «strict_encoding», et blokeerida failide loomine, mille nimedes on valed UTF-8 märgid.
    • Pakutud on uus süsteemikutsude komplekt failide laiendatud atribuutide haldamiseks: setxattrat(), getxattrat(), listxattrat() ja removexattrat(). Erinevalt süsteemikutsudest setxattr(), getxattr(), listxattr() ja removexattr() nõuavad uued variandid katalooge deskriptorite näitamist, mille suhtes otsitakse failiteed.
    • Btrfs-ile on lisatud ioctl-operatsioon BTRFS_IOC_SUBVOL_SYNC_WAIT, mis sisaldab alamsüsteemide puhastamise lõpule ootamise, mis võimaldab «btrfs subvolume sync» käskluse teostamist privileegideta kasutaja poolt, kellel ei ole juurdepääsu ioctl SEARCH_TREE-le (kasulik varundusprogrammides, mis puhastavad alamsüsteeme). Lisatud on ioctl-operatsioon ENCODED_READ, et lugeda io_uring kaudu kodeeritud andmeid, näiteks lugeda otse kokkusurutud ulatustest ilma lahti pakkimata. Jätkatud on ülemineku töö mälu lehe foliantide kasutamisele. Vähenenud on konkurentsivõimete blokeerimise («lock contention») esinemise sagedus sisseehitatud tagasiviidete leidmisel ja ulatuste puidustiku läbivaatamisel. Suurenenud on ulatuste kaardi kokkusurumise tõhusus.
    • EROFS-i failisüsteemis (Extendable Read-Only File System), mis on mõeldud kasutamiseks lugemiseks ainult avatud osades, on rakendatud võimalus kasutada süsteemi kõnes lseek() valikuid SEEK_HOLE ja SEEK_DATA.
    • F2FS-is on lisatud seadmete peegeldamise tugi («device aliasing»), mis võimaldab ajutiselt reserveerida ala F2FS-is, et kasutada osa blokiseadmest teises failisüsteemis. Pärast välist operatsiooni saab reserveeritud ala F2FS-i tagasi anda. Näiteks saab luua failisüsteemi käsuga «mkfs.f2fs -c /dev/vdc@vdc.file /dev/vdb», mille järel seadme sisu /dev/vdc reserveeritakse ja peegeldatakse faili vdc.file ning osa /dev/vdc saab kasutada oma vajadusteks, näiteks vormindada teises failisüsteemis. Reserveeritud sisu tagastamiseks piisab faili vdc.file kustutamisest.
    • XFS-is on lisatud tugi reaalajas seadmete kvootidele. Lisatud on metadata katalooge, kuhu paigutatakse kõik inode'd, mis sisaldavad metaandmeid.
    • FUSE mehhanismis on lisatud võimalus dünaamiliselt muuta maksimaalsete lehtede arvu (FUSE_MAX_MAX_PAGES) kasutades «sysctl fs.fuse.max_pages_limit». Töö hõlmab lehe fuksiaid (page folios).
    • SMB-s on rakendatud POSIX-i laiendite tugi SMB3-le, mis on vajalik spetsiaalsete failitüüpide, nagu fifo, seadme failid ja sümboolsed lingid, salvestamiseks. Lisatud on võimalus mountida osa alternatiivse parooliga, mis rakendatakse paroolide rotatsiooni ajal. Uus mountimisvalik «cifs.upcall» on lisatud nimede ruumi määramiseks. Tagatakse sümboolsete ja plokk-seadmestike failide äratundmine, mis on loodud Windows NFS Serveris. Lisatud on WSL (Windows Subsystem for Linux) stiilis sümboolsete linkide tugi.
    • Failisüsteemid UBIFS, ADFS, BEFS, HFS, HFSPLUS, HPFS, JFS ja ECRYPTFS on üle viidud uue partitsioonide mountimise API kasutamisele.
    • Failisüsteemid ECRYPTFS, UFS ja NILFS2 on üle viidud lehe fuksiaide (page folios) kasutamisele.
  • Mälu ja süsteemiteenused
    • Ajakava planeerijas on rakendatud laiskade hävitamistaktika mudel (PREEMPT_LAZY), mis vastab täishävitamise mudelile („full preemption“) reaalajasülesannete (RR/FIFO/DEADLINE) puhul, kuid lükkab tavade ülesannete (SCHED_NORMAL) hävitamise takti piirini. Antud viivitamine vähendab lukustuse hoidjate hävitamise juhtumeid, mis omakorda võimaldab tõsta jõudlust vabatahtliku hävitamise mudelit kasutavates konfiguratsioonides. Seega võimaldab uus mudel säilitada täishävitamise võimalused reaalajasülesannete suhtes, kuid minimeerib jõudluse langust tavaliste ülesannete puhul. Lisaks lihtsustab uus mudel tõhusalt hävitamise loogikat tuumaprotsessoris, vältides otseselt teiste tuumakomponentide (välja arvatud ülesannete planeerija) protsesse.
    • Clang kompilaatori koostamisel on antud võimalus kasutada optimeerimisi

      Allikas: opennet.ru
Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster