Linux Kernel lage 5.19

Apre de mwa nan devlopman, Linus Torvalds prezante liberasyon kernel Linux 5.19. Pami chanjman ki pi remakab yo: sipò pou achitekti prosesè LoongArch, entegrasyon "BIG TCP" plak, mòd sou demann nan fscache, retire kòd pou sipòte fòma a.out, kapasite pou itilize ZSTD pou konpresyon firmwèr, yon koòdone pou jere degèpisman memwa nan espas itilizatè a, ogmante fyab ak pèfòmans dèlko nimewo pseudo-o aza a, sipò pou Intel IFS (An-Field Scan), AMD SEV-SNP (Secure Nested Paging), Intel TDX (Trusted Domain Extensions) ak ARM. Ekstansyon SME (Scalable Matrix Extension).

Nan anons la, Linus te di ke gen plis chans pwochen lage nwayo a pral nimewote 6.0, depi branch 5.x la akimile ase degaje pou chanje premye nimewo nan nimewo vèsyon an. Chanjman nimero a te pote soti pou rezon ayestetik epi li se yon etap fòmèl ki soulaje malèz akòz akimilasyon nan yon gwo kantite pwoblèm nan seri a.

Linus te mansyone tou ke li te itilize yon laptop Apple ki baze sou achitekti ARM64 (Apple Silisyòm) ak yon anviwònman Linux ki baze sou distribisyon Asahi Linux pou kreye liberasyon an. Li pa estasyon travay prensipal Linus, men li te itilize platfòm la pou teste konvnab li pou travay nwayo ak asire ke li te kapab pwodwi degaje nwayo pandan y ap vwayaje ak yon laptop ki lejè nan men yo. Précédemment, anpil ane de sa, Linus te gen eksperyans lè l sèvi avèk ekipman Apple pou devlopman - yon fwa li te itilize yon PC ki baze sou CPU a ppc970 ak yon laptop Macbook Air.

Nouvo vèsyon an gen ladan 16401 ranje soti nan 2190 devlopè (nan dènye lage a te gen 16206 ranje soti nan 2127 devlopè), gwosè a patch se 90 MB (chanjman ki afekte 13847 dosye, 1149456 liy nan kòd yo te ajoute, 349177 yo te retire). Apeprè 39% nan tout chanjman ki prezante nan 5.19 yo gen rapò ak chofè aparèy, apeprè 21% nan chanjman yo gen rapò ak ajou kòd espesifik achitekti pyès ki nan konpitè, 11% yo gen rapò ak pil rezo a, 4% yo gen rapò ak sistèm dosye, ak 3% yo gen rapò ak subsistèm nwayo entèn yo.

Prensipal inovasyon nan nwayo 5.19:

  • Disk Subsystem, I/O ak File Systems
    • Sistèm fichye EROFS (Enhanced Read-Only File System), ki fèt pou itilize sou patisyon pou lekti sèlman, te konvèti pou sèvi ak subsistèm fscache, ki bay kachèt done. Chanjman an siyifikativman amelyore pèfòmans sistèm kote yon gwo kantite resipyan yo te lanse soti nan yon imaj ki baze sou EROFS.
    • Yo ajoute yon mòd lekti sou demann nan subsystem fscache, ki itilize pou optimize EROFS. Mòd nan nouvo pèmèt ou òganize lekti kachèt soti nan imaj FS ki sitiye nan sistèm lokal la. Kontrèman ak mòd operasyon ki disponib okòmansman an, ki konsantre sou kachèt nan sistèm dosye lokal done yo transfere atravè sistèm fichye rezo a, mòd "sou demann" la delege fonksyon pou rekipere done epi ekri li nan kachèt la nan yon separe. pwosesis background kouri nan espas itilizatè.
    • XFS bay kapasite pou estoke plizyè milya atribi pwolonje nan yon i-node. Yo te ogmante kantite maksimòm limit pou yon dosye soti nan 4 milya dola a 247. Yo te aplike yon mòd pou mete ajou atomik plizyè atribi dosye pwolonje alafwa.
    • Sistèm fichye Btrfs la te optimize travay ak kadna, sa ki te pèmèt pou yon ogmantasyon apeprè 7% nan pèfòmans lè w ap ekri dirèkteman nan mòd nowait. Pèfòmans operasyon yo nan mòd NOCOW (san kopi-sou-ekri) ogmante pa apeprè 3%. Chaj la sou kachèt paj la lè w ap kouri kòmandman "voye" la te redwi. Gwosè minimòm sou-paj yo te redwi soti nan 64K a 4K (yo ka itilize sou-paj ki pi piti pase paj nwayo). Yo te fè yon tranzisyon depi lè l sèvi avèk yon pye bwa radix nan algorithm XArrays.
    • Yo te ajoute yon mòd nan sèvè NFS la pou yon ekstansyon pou prezèvasyon eta bloke a te etabli pa yon kliyan ki te sispann reponn a demann. Nouvo mòd nan pèmèt ou retade netwaye fèmen pou jiska yon jou sof si yon lòt kliyan mande yon seri konkirans. Nan mòd nòmal, bloke a efase 90 segonn apre kliyan an sispann reponn.
    • Sou-sistèm pou swiv evènman nan fanotify FS la aplike drapo FAN_MARK_EVICTABLE a, ak ki ou ka enfim pinning sib i-nœuds nan kachèt la, pou egzanp, inyore sub-branch san yo pa zepeng pati yo nan kachèt la.
    • Chofè a pou sistèm fichye FAT32 la te ajoute sipò pou jwenn enfòmasyon sou tan kreyasyon fichye a atravè apèl sistèm statx ak aplikasyon an nan yon vèsyon pi efikas ak fonksyonèl nan stat(), ki retounen enfòmasyon pwolonje sou dosye a.
    • Optimizasyon enpòtan yo te fè nan chofè exFAT pou pèmèt netwaye similtane yon gwoup sektè lè mòd 'dirsync' a aktif, olye pou yo netwaye sektè pa sektè sekans. Lè yo diminye kantite demann blòk apre optimize, pèfòmans nan kreye yon gwo kantite repèrtwar sou kat SD la ogmante pa plis pase 73-85%, tou depann de gwosè gwoup la.
    • Kernel la gen ladan premye aktyalizasyon korektif chofè ntfs3 la. Depi ntfs3 te enkli nan nwayo 5.15 nan mwa Oktòb pase a, chofè a pa te mete ajou epi kominikasyon ak devlopè yo te pèdi, men devlopè yo te kounye a rekòmanse pibliye chanjman. Patch yo pwopoze yo elimine erè ki mennen nan fuites memwa ak aksidan, rezoud pwoblèm ak ekzekisyon xfstests, netwaye kòd ki pa itilize, ak korije fot.
    • Pou OverlayFS, yo te aplike kapasite pou kat idantifikasyon itilizatè nan sistèm fichye ki monte, ki itilize pou matche ak dosye yon itilizatè espesifik sou yon patisyon etranje ki monte ak yon lòt itilizatè sou sistèm aktyèl la.
  • Sèvis memwa ak sistèm
    • Te ajoute sipò inisyal pou achitekti seri enstriksyon LoongArch yo itilize nan processeurs Loongson 3 5000 yo, ki aplike nouvo RISC ISA, menm jan ak MIPS ak RISC-V. Achitekti LoongArch la disponib nan twa gou: dezabiye 32-bit (LA32R), regilye 32-bit (LA32S), ak 64-bit (LA64).
    • Retire kòd pou sipòte fòma dosye a.out ègzèkutabl, ki te obsolète nan lage 5.1. Fòma a.out la depi lontan te depreche sou sistèm Linux, ak jenerasyon fichye a.out pa sipòte pa zouti modèn nan konfigirasyon Linux default. Ka loader a pou dosye a.out dwe aplike antyèman nan espas itilizatè.
    • Sipò pou opsyon bòt espesifik x86 yo sispann: nosp, nosmap, nosmep, noexec ak noclflush).
    • Sipò pou demode CPU h8300 achitekti (Renesas H8/300), ki depi lontan te rete san sipò, yo te sispann.
    • Kapasite elaji ki gen rapò ak reponn a deteksyon kadna fann ("kadna fann") ki rive lè w gen aksè a done ki pa aliye nan memwa akòz lefèt ke lè egzekite yon enstriksyon atomik, done yo kwaze de liy kachèt CPU. Blokaj sa yo mennen nan yon gout enpòtan nan pèfòmans. Si anvan, pa default, nwayo a ta bay yon avètisman ak enfòmasyon sou pwosesis la ki te lakòz bloke a, kounye a pwosesis la pwoblèm yo pral ralanti pi lwen pou konsève pèfòmans nan rès sistèm nan.
    • Te ajoute sipò pou mekanis IFS (In-Field Scan) aplike nan processeurs Intel, ki pèmèt ou fè tès dyagnostik CPU ba nivo ki ka idantifye pwoblèm ki pa detekte pa zouti estanda ki baze sou kòd koreksyon erè (ECC) oswa bits parite. . Tès yo fèt yo nan fòm firmwèr telechaje, ki fèt menm jan ak mizajou mikrokod yo. Rezilta tès yo disponib atravè sysfs.
    • Te ajoute kapasite pou entegre yon fichye bootconfig nan nwayo a, ki pèmèt, anplis opsyon liy lòd, detèmine paramèt nwayo a atravè yon dosye paramèt. Entègrasyon fèt lè l sèvi avèk opsyon asanble 'CONFIG_BOOT_CONFIG_EMBED_FILE=»/PATH/TO/BOOTCONFIG/FILE»'. Précédemment, bootconfig te detèmine pa atache imaj initrd la. Entegrasyon nan nwayo a pèmèt bootconfig yo dwe itilize nan konfigirasyon san yon initrd.
    • Kapasite pou telechaje firmwèr konprese lè l sèvi avèk algorithm Zstandard la te aplike. Yon seri dosye kontwòl /sys/class/firmware/* te ajoute nan sysfs, ki pèmèt ou kòmanse chaje firmwèr soti nan espas itilizatè.
    • Koòdone I/O asynchrone io_uring la ofri yon nouvo drapo, IORING_RECVSEND_POLL_FIRST, ki, lè li tabli, pral premye voye yon operasyon rezo pou trete lè l sèvi avèk sondaj, sa ki ka sove resous nan sitiyasyon kote pwosesis operasyon an ak kèk reta akseptab. io_uring te ajoute tou sipò pou apèl sistèm socket(), te pwopoze nouvo drapo pou senplifye jesyon deskriptè fichye yo, te ajoute yon mòd "milti-piki" pou aksepte plizyè koneksyon an menm tan nan apèl accept() la, epi li te ajoute operasyon pou voye NVMe. kòmand dirèkteman nan aparèy la.
    • Achitekti Xtensa bay sipò pou zouti debogaj KCSAN (Kernel Concurrency Sanitizer), ki fèt pou detekte dinamik kondisyon ras yo nan nwayo a. Epitou te ajoute sipò pou mòd dòmi ak koprosesè.
    • Pou achitekti m68k (Motorola 68000), yo te aplike yon machin vityèl (simulatè platfòm) ki baze sou Emulation Android Goldfish la.
    • Pou achitekti AArch64, sipò pou ekstansyon Armv9-A SME (Scalable Matrix Extension) te aplike.
    • Sou-sistèm eBPF pèmèt estoke endikasyon tape nan estrikti kat jeyografik, epi tou li ajoute sipò pou endikasyon dinamik.
    • Yo pwopoze yon nouvo mekanis rekiperasyon memwa aktif ki sipòte kontwòl espas itilizatè lè l sèvi avèk fichye memory.reclaim la. Ekri yon nimewo nan fichye espesifye a pral eseye degèpi kantite korespondan bytes nan seri ki asosye ak cgroup la.
    • Amelyore presizyon nan itilizasyon memwa lè konpresyon done nan patisyon swap la lè l sèvi avèk mekanis zswap la.
    • Pou achitekti RISC-V, sipò pou kouri ègzèkutabl 32-bit sou sistèm 64-bit yo bay, yo ajoute yon mòd pou mare atribi restriksyon nan paj memwa (pa egzanp, pou enfim kachèt), epi fonksyon kexec_file_load() yo aplike. .
    • Aplikasyon sipò pou sistèm 32-bit Armv4T ak Armv5 adapte pou itilize nan bati inivèsèl milti-platfòm nwayo apwopriye pou diferan sistèm ARM.
  • Virtualization ak sekirite
    • Sou-sistèm EFI a aplike kapasite pou transfere enfòmasyon sekrè konfidansyèlman nan sistèm envite san yo pa divilge li nan sistèm lame a. Done yo bay nan anyè sekirite/koko nan securityfs.
    • Mòd pwoteksyon fèmen pòt, ki mete restriksyon sou aksè itilizatè rasin nan nwayo a epi bloke chemen kontoune UEFI Secure Boot, te elimine yon brèch ki te pèmèt pwoteksyon kontoune pa manipile debogaj nwayo a.
    • Gen ladan yo plak ki vize a amelyore fyab la ak pèfòmans nan dèlko nimewo pseudo-o aza.
    • Lè w ap bati lè w ap itilize Clang 15, yo aplike sipò pou mekanis pou randomize estrikti nwayo a.
    • Mekanis Landlock la, ki pèmèt ou limite entèraksyon yon gwoup pwosesis ak anviwònman ekstèn lan, bay sipò pou règ ki pèmèt ou kontwole ekzekisyon operasyon chanje non dosye a.
    • Sou-sistèm IMA (Achitekti Mezi Entegrite), ki fèt pou verifye entegrite konpozan sistèm operasyon yo lè l sèvi avèk siyati dijital ak hachaj, te chanje an itilize modil fs-verity pou verifikasyon dosye.
    • Lojik nan aksyon lè enfim aksè san privilèj nan subsistèm eBPF la te chanje - deja tout kòmandman ki asosye ak apèl nan sistèm bpf() yo te enfim, epi kòmanse soti nan vèsyon 5.19, aksè a kòmandman ki pa mennen nan kreyasyon an nan objè yo rete. . Konpòtman sa a egzije yon pwosesis privilejye pou chaje yon pwogram BPF, men answit pwosesis ki pa privilejye yo ka kominike avèk pwogram nan.
    • Te ajoute sipò pou ekstansyon AMD SEV-SNP (Secure Nested Paging), ki bay travay an sekirite ak tab paj memwa enbrike epi li pwoteje kont atak "undeSErVed" ak "SEVerity" sou processeurs AMD EPYC, ki pèmèt kontoune AMD SEV (Secure Encrypted Virtualization). ) mekanis pwoteksyon.
    • Te ajoute sipò pou mekanis Intel TDX (Trusted Domain Extensions), ki pèmèt ou bloke tantativ twazyèm pati pou jwenn aksè nan memwa chiffres machin vityèl yo.
    • Chofè virtio-blk la, ki itilize pou imite aparèy blòk yo, te ajoute sipò pou I/O lè l sèvi avèk sondaj, ki, dapre tès yo, te redwi latansi pa apeprè 10%.
  • Sou-sistèm rezo
    • Pake a gen ladan yon seri de GWO plak TCP ki pèmèt ou ogmante gwosè maksimòm pake yon pake TCP a 4GB pou optimize operasyon rezo sant done entèn gwo vitès. Yon ogmantasyon menm jan an nan gwosè pake ak yon gwosè jaden header 16-bit reyalize atravè aplikasyon an nan "jumbo" pake, gwosè a nan header IP ki mete a 0, ak gwosè aktyèl la transmèt nan yon separe 32-bit. jaden nan yon header separe. Nan tès pèfòmans, mete gwosè pake a nan 185 KB ogmante debi pa 50% ak siyifikativman redwi latansi transfè done.
    • Travay te kontinye sou entegre zouti nan pile rezo a pou swiv rezon ki fè yo jete pake (kòd rezon). Kòd rezon ki fè yo voye lè memwa ki asosye ak pake a libere epi pèmèt pou sitiyasyon tankou jete pake akòz erè header, deteksyon rp_filter spoofing, checksum envalid, soti nan memwa, règ IPSec XFRM deklanche, nimewo sekans envalid TCP, elatriye.
    • Te ajoute sipò pou koneksyon MPTCP (MultiPath TCP) pou itilize TCP regilye, nan sitiyasyon kote sèten karakteristik MPTCP pa ka itilize. MPTCP se yon ekstansyon pwotokòl TCP pou òganize operasyon yon koneksyon TCP ak livrezon pakè ansanm sou plizyè wout atravè diferan koòdone rezo ki asosye ak adrès IP diferan. Te ajoute API pou kontwole kouran MPTCP nan espas itilizatè.
  • Ekipman
    • Te ajoute plis pase 420 liy kòd ki gen rapò ak chofè amdgpu a, ki apeprè 400 liy yo se fichye header oto-pwodwi pou done rejis ASIC nan chofè AMD GPU a, ak yon lòt liy 22.5k bay premye aplikasyon sipò pou AMD SoC21. Gwosè total chofè pou GPU AMD depase 4 milyon liy kòd. Anplis SoC21, chofè AMD a gen ladan sipò pou SMU 13.x (System Management Unit), sipò ajou pou USB-C ak GPUVM, epi li prepare pou sipòte pwochen jenerasyon RDNA3 (RX 7000) ak CDNA (AMD Instinct) platfòm.
    • Chofè i915 la (Intel) te elaji kapasite ki gen rapò ak jesyon pouvwa. Te ajoute idantifyan pou Intel DG2 (Arc Alchemist) GPU yo te itilize sou laptops, te bay sipò inisyal pou platfòm Intel Raptor Lake-P (RPL-P), te ajoute enfòmasyon sou kat grafik Arctic Sound-M), te aplike ABI pou motè kalkile, te ajoute pou Sipò kat DG2 pou fòma Tile4; pou sistèm ki baze sou mikrochitekti Haswell, sipò DisplayPort HDR aplike.
    • Chofè Nouveau a te chanje lè l sèvi avèk drm_gem_plane_helper_prepare_fb handler; yo te aplike alokasyon memwa estatik nan kèk estrikti ak varyab. Kòm pou itilize nan modil nwayo sous louvri pa NVIDIA nan Nouveau, travay la byen lwen tèlman vini desann nan idantifye ak elimine erè. Nan tan kap vini an, firmwèr ki te pibliye a te planifye pou itilize pou amelyore pèfòmans chofè a.
    • Te ajoute yon chofè pou kontwolè NVMe yo itilize nan òdinatè Apple ki baze sou chip M1 la.

An menm tan an, Fondasyon Lojisyèl gratis nan Amerik Latin nan te fòme yon vèsyon nan nwayo a konplètman gratis 5.19 - Linux-libre 5.19-gnu, efase nan eleman nan firmwèr ak chofè ki gen eleman ki pa gratis oswa seksyon nan kòd, sijè ki abòde lan ki se. limite pa manifakti a. Nouvo lage a netwaye chofè yo pou pureLiFi X/XL/XC ak TI AMx3 Wkup-M3 IPC. Mete ajou kòd netwayaj blob nan Silicon Labs WFX, AMD amdgpu, Qualcomm WCNSS Peripheral Image Loader, Realtek Bluetooth, Mellanox Spectrum, Marvell WiFi-Ex, Intel AVS, IFS, chofè pu3-imgu ak subsystems. Pwosesis dosye Qualcomm AArch64 devicetree te aplike. Te ajoute sipò pou nouvo konplo nonmen eleman Sound Open Firmware. Sispann netwaye chofè ATM Anbasadè a, ki te retire nan nwayo a. Jesyon netwayaj blob nan HDCP ak Mellanox Core te deplase nan tag kconfig separe.

Sous: opennet.ru

Add nouvo kòmantè