PĂ€rast kahte kuud arendust Linus Torvalds ydinversioon . Olulisemad muutused: AMD Navi GPU tugi, Zhaoxi protsessorite tugi ja Intel Speed Select energiatarbimise haldustehnoloogia, umwait kĂ€skude kasutamise vĂ”imalus ootamiseks ilma tsĂŒklite kasutamiseta,
asĂŒmmeetriliste CPU-de interaktiivsust suurendav âutilization clampingâ reĆŸiim, pidfd_open sĂŒsteemikĂ”ne, IPv4 aadresside kasutamine alavĂ”rgus 0.0.0.0/8, nftables'i riistvaraline kiirusĂ”ttu tugi, HDR-i tugi DRM alamsĂŒsteemis, ACRN hĂŒperviisori integreerimine.
Uues uue vĂ€ljalaske puhul tuletas Linus kĂ”igile arendajatele meelde peamist tuuma arendamise pĂ”hireeglit â kasutajaruumi komponentide kĂ€itumise jĂ€rjepidevuse sĂ€ilitamine. Ytseffin muutused tuumas ei tohi mingil viisil rikkuda juba toimivaid rakendusi ja pĂ”hjustada regressioone kasutaja tasemel. Samas vĂ”ib kĂ€itumise rikkumine kujuneda mitte ainult ABI muutuste, vananenud koodi eemaldamise vĂ”i vigade tekkimise kaudu, vaid ka Ă”igesti töötavate kasulikud tĂ€iustuste kaudse mĂ”ju tĂ”ttu. NĂ€iteks kasulik Ext4 koodis, mis vĂ€hendas kettale pöördumiste arvu, keelates inode tabeli etteennustava lugemise vĂ€ikeste sisend-/vĂ€ljundkutsede juures.
Optimeerimine viis selleni, et ketta aktiivsuse vĂ€henemise tĂ”ttu hakkas getrandom() juhuslikkuse generaatori entropia aeglasemalt kogunema ja teatud konfiguratsioonides vĂ”ivad kindlate ringkondade korral laadimise ajal esineda riputused, kuni entropia bassein on tĂ€itunud. Kuna optimeerimine on tĂ”epoolest kasulik, tekkis arendajate seas arutelu, kus pakuti probleemi lahendamist getrandom() blokeeriva tööreĆŸiimi keeldumise kaudu vaikimisi, lisades valikulise lipu entropia ootamise vĂ”imaluseks, kuid sarnane muudatus mĂ”jutab esialgse laadimise ajal genereeritud juhuslike numbrite kvaliteeti.
Uude versiooni on tehtud 15794 parandust 1974 arendajalt,
patchi suurus on 92 MB (muudatused puudutasid 13986 faili, lisatud on 258419 koodiread,
eemaldatud 599137 rida). Umbes 39% kÔikidest esitatud 5.3 puhul
muutustest on seotud seadme draiveritega, umbes 12% muudatusi on
seotud riistvaraarhitektuuri spetsiifilise koodi uuendamisega, 11%
seotud vĂ”rgustiku virnast, 3% â failisĂŒsteemidega ja 3% tuumades alamsĂŒsteemidega.
alamsĂŒsteemidega.
:
- MĂ€lu ja sĂŒsteemiteenused
- Funktsionaalsuse âpidfdâ jĂ€tkuv arendamine, mis aitab kĂ€sitleda PID-i taaskasutamise olukordi (pidfd on seotud konkreetse protsessiga ja ei muutu, samas kui PID vĂ”ib olla seotud teise protsessiga pĂ€rast praeguse protsessi lĂ”petamist, millega see PID on seotud). Varem oli tuuma juba lisatud
sĂŒsteemikutse pidfd_send_signal() ja lipp CLONE_PIDFD kutses clone(), mis vĂ”imaldab saada pidfd kasutamiseks idfd_send_signal(). CLONE_PIDFD lipuga clone() vĂ€ljakutset kasutades tekkisid probleemid teenuse haldurite vĂ”i protsesside sundlĂ”petamise sĂŒsteemiga, kui Androidi platvormil oli mĂ€lu nappus. Sel juhul kĂ€ivitamiseks kasutatakse kutsungeid fork() vĂ”i clone() ilma CLONE_PIDFD-ta.Tuumas 5.3 on esitatud sĂŒsteemikutse , mis vĂ”imaldab saada kontrollitavat pidfd suvaliseks olemasolevaks protsessiks, mida ei ole loodud kutsungi clone() koos CLONE_PIDFD lipuga. Samuti on lisatud pidfd pollimise tugi poll() ja epoll() kaudu, mis vĂ”imaldab protsessihalduritel jĂ€lgida suvaliste protsesside lĂ”petamist, kartmata race conditioni, kui PID mÀÀratakse uuele protsessile. Protsessi lĂ”petamisest teavitamise mehhanism, mis on seotud pidfd-iga, on sarnane teavitamisega oma alamprotsessi lĂ”petamisest;
- ĂŒlesande ajakava lisatud koormuse kinnitamise mehhanismi tugi (), mis vĂ”imaldab jÀÀda minimaalsetesse vĂ”i maksimaalsetesse sageduste vahemikesse, sĂ”ltuvalt aktiivsetest CPU ĂŒlesannetest. Esitatud mehhanism kiirendab ĂŒlesandeid, mis mĂ”jutavad otseselt kasutajakogemuse kvaliteeti, kĂ€ivitades need ĂŒlesanded vĂ€hemalt âtaotletudâ sageduse alumises piiris. Madal-prioriteetseid ĂŒlesandeid, mis ei mĂ”juta kasutajate tööd, kĂ€ivituvad âlubatudâ sageduse ĂŒlemise piiri kasutamisega. Piirid mÀÀratakse atribuutide sched_uclamp_util_min ja sched_uclamp_util_max kaudu sĂŒsteemikutses sched_setattr().
- Energiatarbimise juhtimise tehnoloogia tugi on lisatud , mis on kÀttesaadav mÔnedes serverites, kus on Intel Xeoni protsessorid. Antud tehnoloogia vÔimaldab seadistada jÔudluse ja lÀbilaskevÔime seadistusi erinevate CPU tuumade jaoks, mis vÔimaldab prioriseerida jÔudlust teatud tuumadel, ohverdades samas jÔudlust teistel tuumadel;
- kasutaja ruumis töötavatele protsessidele vĂ”imalust oodata lĂŒhikest aega tsĂŒklite kasutamata, kasutades umwait kĂ€sku. Antud kĂ€sk, koos umonitor ja tpause kĂ€skudega, pakutakse vĂ€lja peagi turule tulevates Intel 'Tremont' kiipides ja vĂ”imaldab realiseerida energiatĂ”husat ooteaega, mĂ”jutamata teiste lĂ”imede jĂ”udlust Hyper Threadingu kasutamisel;
- RISC-V arhitektuuri jaoks on lisatud toe suurtel mÀlu lehtedel (huge pages);
- kprobes jĂ€lgimise mehhanismile on lisatud vĂ”imalus dereferentseerida tuumapointereid kasutaja ruumi, mida vĂ”ib kasutada nĂ€iteks sĂŒsteemi kutsete kaudu edastatavate struktuuride sisu hindamiseks. Samuti on lisatud vĂ”imalus installida kontrolle laadimisetapis.
- konfiguratsioonifaili on lisatud PREEMPT_RT valik reaalajalise tööreĆŸiimi jaoks. Reaalaja reĆŸiimi toetav kood pole veel tuumale lisatud, kuid selle valiku olemasolu on hea mĂ€rk, et pikaajaline seiklus Realtime-Preempt patĆĄide osas lĂ€heneb lĂ”pule;
- on lisatud sĂŒsteemikutses clone3() realiseerimine laiendatud variandi clone() liidesest, mis vĂ”imaldab mÀÀrata suurema hulga lippe;
- on lisatud bpf_send_signal() kÀitaja, mis vÔimaldab BPF-programmidel saata signaale mis tahes protsessidele;
- KVM hĂŒpervĂ”tjas perf sĂŒndmuste jaoks on lisatud uus sĂŒndmuste filtreerimise mehhanism, mis vĂ”imaldab administraatoril mÀÀrata sĂŒndmuste tĂŒĂŒbid, mis on lubatud vĂ”i mitte lubatud kĂŒlastaja sĂŒsteemis jĂ€lgimiseks;
- eBPF rakenduste valideerimise mehhanismile on lisatud vĂ”imalus töötleda programme, kus on tsĂŒklid, kui tsĂŒkli tĂ€itmine on piiratud ja ei saa viia maksimaalsete kĂ€skude arvu ĂŒletamiseni;
- Funktsionaalsuse âpidfdâ jĂ€tkuv arendamine, mis aitab kĂ€sitleda PID-i taaskasutamise olukordi (pidfd on seotud konkreetse protsessiga ja ei muutu, samas kui PID vĂ”ib olla seotud teise protsessiga pĂ€rast praeguse protsessi lĂ”petamist, millega see PID on seotud). Varem oli tuuma juba lisatud
- DiskisĂŒsteem, sisend/vĂ€ljund ja failisĂŒsteemid
- XFS-failisĂŒsteemi jaoks on rakendatud mitmeotstarbelise inode'i lĂ€bimise vĂ”imalus (nt kvotide kontrollimisel). Uued ioctl BULKSTAT ja INUMBERS pakuvad juurdepÀÀsu viienda versiooni failisĂŒsteemi formaatide uutele omadustele, nagu inode'i loomise aeg ja BULKSTAT ja INUMBERS parameetrite mÀÀramine igale AG (Allocation Groups) rĂŒhmale;
- Ext4-s kaustadesse (sidumata plokkide).
"i" (immutabilise) lipu töötlemine avatud failide jaoks (kirjutamise keeld, kui lipp oli seadistatud, kui fail oli juba avatud); - Btrfs-is on tagatud crc32c kiire rakendamine kÔikidel arhitektuuridel;
- CIFS-is on smbdirect'i toe koodist eemaldatud katseversiooni mĂ€rgis. SMB3-s on lisatud krĂŒptograafiliste algoritmide kasutamise vĂ”imalus GCM-reĆŸiimis. Uus mountimisvĂ”imalus on lisatud reĆŸiimi parameetrite vĂ€ljavĂ”tmiseks ACE (Access Control Entry) kirjetest. open() kutse jĂ”udlust on optimeeritud;
- F2FS-is on lisatud vĂ”imalus piirata prĂŒgikoristaja tööd reĆŸiimis checkpoint=disable. Lisatud ioctl plokkide vahemike kustutamiseks F2FS-st, mis vĂ”imaldab osa suuruse dĂŒnaamilist kohandamist. F2FS-is on lisatud vahetusfaili paigutamise vĂ”imalus otse sisendi/vĂ€ljundi toetamisega. KĂ”igile kasutajatele on lisatud faili lukustamise ja nende failide plokkide mÀÀramine;
- AsĂŒnkroonse I/O liidese io_uring jaoks on lisatud asĂŒnkroonse sendmsg() ja recvmsg() operatsioonide tugi;
- UBIFS-failisĂŒsteemi on lisatud zstd-algoritmi abil kokkusurumise tugi ja allkirjastatud failisĂŒsteemide piltide valideerimise vĂ”imalus;
- Ceph failisĂŒsteemis on lisatud SELinuxi turvategemiste tugi failidele;
- NFSv4-s on rakendatud uus mountimisvĂ”imalus "nconnect=", mis mÀÀrab serveriga loodud ĂŒhenduste arvu. Selle ĂŒhenduste vahel jagatakse liiklus koormuse tasakaalustamise abil. Samuti loob NFSv4 server nĂŒĂŒd katalooge /proc/fs/nfsd/clients, mis sisaldavad teavet praeguste klientide kohta, sealhulgas avatud failide kohta;
- Virtualiseerimine ja turvalisus
- Tuuma koosseisu on lisatud hĂŒperviisor sisseehitatud seadmete jaoks , mis on kirjutatud reaalajas ĂŒlesannete tĂ€itmise ja kriitiliselt oluliste sĂŒsteemide kasutusvalmiduse jaoks. ACRN tagab minimaalsed kulud, garanteerib madala latentsuse ja adekvaatse reageerimisvĂ”ime suhtlemisel riistvaraga. Toetatakse CPU, sisendi/vĂ€ljundi, vĂ”rgusĂŒsteemide, graafika ja heli virtualiseerimist. ACRN-i saab kasutada mitmete isoleeritud virtuaalmasinate kĂ€itamiseks elektroonilistes juhtseadmetes, instrumentide paneelides, automaatsete teabesĂŒsteemides, tarbijate IoT-seadmetes ja muudes sisse ehitatud seadmetes;
- Kasutaja reĆŸiimis Linux on âajaskĂ€iguâ reĆŸiim, mis vĂ”imaldab ajalugu aeglustada vĂ”i kiirendada virtuaalses UML keskkonnas, et lihtsustada ajaga seotud koodi tĂ”rkeotsingut. Lisaks on lisatud parameeter
time-travel-start, mis vĂ”imaldab sĂŒsteemi kellade kĂ€ivitamist mÀÀratud hetkest epoch-vormingus; - Uued kĂ€skluse valikud tuumale âinit_on_allocâ ja âinit_on_freeâ on lisatud; nende aktiveerimisel lĂ€htestatakse eraldatud ja vabastatud mĂ€lupiirkonnad (tĂ€idetakse nullidega malloc-i ja free puhul), mis suurendab turvalisust, aga toob kaasa lisakulu initsialiseerimise eest;
- Lisatud uus draiver , millel on poolvirtualiseeritud seadme teostus, mis vÔimaldab saata IOMMU-pÀringuid, nagu ATTACH, DETACH, MAP ja UNMAP, virtio transpordi peal ilma mÀlu lehtede tabelite emuleerimiseta;
- Lisatud uus draiver , mis vĂ”imaldab ligipÀÀsu salvestusseadmetele, mis on peegeldatud fĂŒĂŒsilisse aadressiruumi, nagu NVDIMM;
- Tehtud on vĂ”imalus kinnitada krĂŒptograafilisi vĂ”tmeid kasutaja- vĂ”i vĂ”rgu nimedesse (vĂ”tmed pole valitud nimede piiridest vĂ€ljaspool kĂ€tte saadavad) ja kaitsta vĂ”tmeid ACL-iga;
- KrĂŒptograafilisse alamsĂŒsteemi on lisatud vĂ€ga kiire mittekrĂŒptograafilise rĂ€si algoritmi tugi , mille kiirus sĂ”ltub mĂ€lutootlikkusest;
- VĂ”rgusĂŒsteem
- IPv4 aadresside töötlemine aadressivahemikus 0.0.0.0/8 on tagatud, mida varem ei olnud vÔimalik kasutada. Selle alamvÔrgu sissetoomine jaotab veel 16 miljonit IPv4 aadressi;
- Netfilteris nftables on lisatud tugi paketifiltrite riistvaralise kiirendamise mehhanismidele, rakendades draiverites Verkkosovittimille voidaan luoda kokonaisia sÀÀntötaulukoita kaikilla ketjuilla. Aktivointi suoritetaan liittÀmÀllÀ NFT_TABLE_F_HW -lippu taulukkoon. Tuetaan yksinkertaisia metadatatasoja 3 ja 4, hyvÀksymistoimenpiteitÀ/hylkÀÀmisiÀ, IP- ja verkkoporttiyhteensopivuuksia lÀhettÀjÀlle/vastaanottajalle ja protokollatyypille;
- Integroitu yhteyksien seurannan tuki verkkosiltaan, joka ei vaadi emuloivaa br_netfilter-kerrosta;
- nf_tables SYNPROXY-moduulin tuki, joka toistaa samanlaista toimintaa iptablesista, on myös toteutettu mahdollisuus tarkistaa sÀÀnnöissÀ erikseen IPv4-otsikon tiettyjÀ vaihtoehtoja;
- Mahdollisuus liittÀÀ BPF-ohjelmia system call -kutsuihin setsockopt() ja getsockopt(), mikÀ esimerkiksi mahdollistaa omien pÀÀsykÀsittimien liittÀmisen nÀihin kutsuihin. LisÀksi on lisÀtty uusi kytkentÀpiste (hook), jonka avulla voidaan kutsua BPF-ohjelmaa kerran jokaisessa RTT- (round-trip-time, ping) intervallissa;
- IPv4:lle ja IPv6:lle uusi reititystietojen sÀilytymekanismi nexthop, joka on suunnattu reititystaulukoiden skaalautuvuuden parantamiseen. Suoritetut testit ovat osoittaneet, ettÀ uuden jÀrjestelmÀn avulla 743 000 reittiÀ ladattiin ytimeen vain 4,3 sekunnissa;
- Bluetoothille toiminnallisuus, joka on tarpeen LE ping -tuelle;
- Varustus
- tuki x86-yhteensopiville prosessoreille , jotka on kehitetty VIA Technologiesin ja Shanghai'n kaupungin viranomaisten yhteisen projektin tuloksena. ZX-sarjan CPU:t perustuvat x86-64 Isaiah -arkkitehtuuriin, joka jatkaa teknologioiden kehittÀmistÀ ;
- suorituskykymoduuliin DRM (Direct Rendering Manager) sekÀ amdgpu- ja i915-grafiikkajÀrjestelmiin on lisÀtty HDR (korkea dynaaminen alue) metadatan tulkinnan, kÀsittelyn ja lÀhetyksen tuki HDMI-portin kautta, jolloin HDR-paneelit ja nÀytöt, jotka pystyvÀt nÀyttÀmÀÀn lisÀvalonalueita, voidaan kÀyttÀÀ;
- amdgpu-ohjaimeen on lisÀtty alkututkimus AMD NAVI (RX5700) GPU:lle, joka sisÀltÀÀ perustason ohjaimen, koodin nÀyttöjen kanssa vuorovaikutukseen (DCN2), GFX- ja laskentatuen (GFX10),
SDMA 5 (System DMA0), virtalÀhteen hallintavÀlineet ja multimedia-koodaus-/dekoodausvÀlineet (VCN2). amdgpu:ssa on myös parannettu Vega12- ja Vega20-GPU-pohjaisten korttien tukea, joille on lisÀtty lisÀmahdollisuuksia muistin ja energianhallintaan; - Amdkfd-drivers (diskreetsete GPU-de jaoks, nagu Fiji, Tonga, Polaris) on lisatud tugi VegaM GPU-dele.
- Intel GPU-de DRM-drivers Icelake kiipide jaoks uus mitme segmentide gamma-korrekteerimise reĆŸiim. Lisatud tugi DisplayPorti kaudu edastamiseks YCbCr4:2:0 formaadis. Uued tarkvaraversioonid on saadaval. SKL, BXT, KBL, GLK ja ICL jaoks. Tehtud vĂ”imalikuks ekraani toite vĂ€ljalĂŒlitamine asĂŒnkroonses reĆŸiimis. toetatud renderdamise konteksti salvestamine ja taastamine Ironlake (gen5) ja gen4 (Broadwater - Cantiga) kiipide jaoks, mis vĂ”imaldab kasutajaruumi konteksti taastada GPU olek, kui liikuda ĂŒhe paketiprotsessi teise juurde.
- Nouveau draiveris on kindlaks tehtud NVIDIA Turing TU116 kiip.
- DRM/KMS-drivers ARM Komeda (Mali D71) ekraani töötlemise kiirendite jaoks on laiendatud, lisatud on skaleerimise, kihtide jagamise/ĂŒhendamise, pööramise, viivitatud salvestamise, AFBC, SMMU ja vĂ€rvikoodi formatide Y0L2, P010, YUV420_8/10BIT tugi.
- MSM-draiveris on lisatud tugi Qualcommi A540 GPU Adreno seeriale, samuti MSM8998 DSI-kontrolleri tugi Snapdragon 835 jaoks.
- Lisatud draiverid Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS LCD-paneelide jaoks.
Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 ja VXT VL050-8048NT-C01. - draiver dekodeerimiskiirenduse kasutamiseks
videote jaoks, mis on saadaval Amlogic Meson SoC-is. - v3d draiveris (Broadcom Video Core V GPU jaoks, mida kasutatakse Raspberry Pi-s) on saadaval arvutusĆĄaderite haldamine.
- draiver SPI klaviatuuride ja puuteplaatide jaoks, mida kasutatakse kaasaegsetes Apple MacBook ja MacBook Pro mudelites.
- tÀiendav kaitse ioctl-kÔnede jaoks, mis on seotud floppy-draiveriga, ja draiver ise on mÀrgitud kui hoolduseta
(âorphanedâ), mis tĂ€hendab, et selle testimine lĂ”petatakse. Draiver on seni sĂ€ilitatud kernelis, kuid selle korrektsust ei garanteerita. Draiverit peetakse vananenuks, kuna selle testimiseks on raske leida töökindlat riistvara - kĂ”ik soovitud vĂ€lishoidjad kasutavad tavaliselt USB-liidest. - cpufreq-draiver Raspberry Pi plaatide jaoks, mis vĂ”imaldab dĂŒnaamiliselt hallata protsessori sageduse muutmist.
- Lisatud toetus uutele ARM SoC Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSP + MMA) ja Amlogic G12B (4x Cortex-A73 + 2x Cortex-A53), samuti plaatidele:
- ,
- Aspeed BMC,
- Microsoft Olympus BMC,
- Kontron SMARC,
- Novtech Meerkat96 (i.MX7),
- ST Micro Avenger96,
- Google Cheza (Qualcomm SDM845),
- Qualcomm Dragonboard 845c (Qualcomm SDM845),
- Hugsun X99 TV Box (Rockchip RK3399),
- Khadas Edge/Edge-V/Captain (Rockchip RK3399),
- HiHope RZ/G2M,
- NXP LS1021A-TSN.
Samas Latiino-Ameerika Vaba Tarkvara Fond
variant â , puhastatud komponentidest ja draividest, mis sisaldavad mitte-vabad komponente vĂ”i koodilĂ”ike, mille kasutusala on tootja poolt piiratud. Uues vĂ€ljaandes on keelatud qcom draiverites, hdcp drm, allegro-dvt ja meson-vdec blobide laadimine.
Auuendatud blobide puhastamise kood draiverites ja sĂŒsteemides amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, helidraiver skylake'i jaoks ning samuti mikrokoodi dokumentatsioonis.
Allikas: opennet.ru
