Linux Kernel lage 5.12

Apre de mwa nan devlopman, Linus Torvalds prezante liberasyon kernel Linux 5.12. Pami chanjman ki pi remakab yo: sipò pou aparèy blòk sektè nan Btrfs, kapasite pou kat idantifikasyon itilizatè yo pou sistèm dosye a, netwaye achitekti ARM eritaj, yon mòd ekri "anvi" nan NFS, mekanis LOOKUP_CACHED pou detèmine chemen fichye soti nan kachèt la. , sipò pou enstriksyon atomik nan BPF, yon sistèm debogaj KFENCE pou idantifye erè lè w ap travay ak memwa, mòd biwo vòt NAPI kouri nan yon fil nwayo separe nan chemine rezo a, ACRN hypervisor, kapasite nan chanje modèl la preempt sou vole nan travay la planifikatè ak sipò pou optimize LTO lè bati nan Clang.

Nouvo vèsyon an gen ladan 14170 (nan vèsyon anvan an 15480) korije soti nan 1946 (1991) devlopè, gwosè patch la se 38 MB (chanjman ki afekte 12102 (12090) fichye, 538599 (868025) liy kòd yo te ajoute, 333377 (261456) liy yo te efase). Apeprè 43% nan tout chanjman ki prezante nan 5.12 yo gen rapò ak chofè aparèy, apeprè 17% nan chanjman yo gen rapò ak ajou kòd espesifik achitekti pyès ki nan konpitè, 12% yo gen rapò ak pile rezo a, 5% yo gen rapò ak sistèm dosye, ak 4% yo gen rapò ak subsistèm nwayo entèn yo.

Prensipal inovasyon:

  • Disk Subsystem, I/O ak File Systems
    • Kapasite pou kat idantifikasyon itilizatè yo pou sistèm dosye monte yo te aplike (ou ka kat fichye yon itilizatè sou yon patisyon etranje ki monte ak yon lòt itilizatè sou sistèm aktyèl la). Map sipòte pou sistèm dosye FAT, ext4 ak XFS. Fonksyonalite yo pwopoze a rann li pi fasil pou pataje fichye ant diferan itilizatè yo ak sou diferan òdinatè, ki gen ladan kat yo pral itilize nan mekanis anyè kay pòtab systemd-homed, ki pèmèt itilizatè yo deplase anyè lakay yo nan medya ekstèn epi sèvi ak yo sou diferan òdinatè, kat. ID itilizatè ki pa matche ak. Yon lòt aplikasyon itil se òganize pwovizyon aksè pataje nan dosye ki soti nan yon lame ekstèn, san yo pa aktyèlman chanje done yo sou mèt pwopriyete yo nan dosye yo nan sistèm nan dosye.
    • Patch LOOKUP_CCHED yo te adopte nan nwayo a, sa ki pèmèt operasyon yo detèmine yon chemen fichye soti nan espas itilizatè san yo pa bloke, sèlman ki baze sou done ki disponib nan kachèt la. Mòd LOOKUP_CACHED aktive nan apèl openat2() lè w pase drapo RESOLVE_CACHED a, kote done yo sèvi sèlman nan kachèt la, epi si detèminasyon chemen an mande pou aksè nan kondwi a, erè EAGAIN la retounen.
    • Sistèm fichye Btrfs te ajoute sipò inisyal pou aparèy blòk sektè yo (aparèy sou disk mayetik difisil oswa NVMe SSD, espas depo nan ki divize an zòn ki fòme gwoup blòk oswa sektè, kote sèlman sekansyal adisyon done yo pèmèt, mete ajou tout gwoup blòk). Nan mòd lekti sèlman, sipò pou blòk ak metadata ak done ki pi piti pase yon paj (souspaj) aplike.
    • Nan sistèm nan dosye F2FS, yo te ajoute kapasite nan chwazi algorithm ak nivo konpresyon. Te ajoute sipò pou konpresyon wo nivo pou algorithm LZ4 la. Aplike opsyon aliye checkpoint_merge.
    • Yon nouvo lòd ioctl FS_IOC_READ_VERITY_METADATA te aplike pou li metadata nan dosye ki pwoteje ak fs-verity.
    • Kliyan NFS la aplike yon mòd ekri "anvi" (ekri = anvi), lè li pèmèt, operasyon ekri nan yon dosye yo imedyatman transfere nan sèvè a, kontourne kachèt paj la. Mòd sa a pèmèt ou diminye konsomasyon memwa, bay enfòmasyon enstantane sou fen espas gratis nan sistèm fichye a, ak nan kèk sitiyasyon fè li posib pou reyalize pèfòmans ogmante.
    • Nouvo opsyon mòn yo te ajoute nan CIFS (SMB): acregmax pou kontwole kachèt dosye ak acdirmax pou kontwole kachèt metadata anyè.
    • Nan XFS, mòd tcheke kota milti-threaded yo te pèmèt, ekzekisyon fsync yo te akselere, ak kòd growfs yo te prepare pou aplike fonksyon pou diminye gwosè sistèm dosye a.
  • Sèvis memwa ak sistèm
    • Sou-sistèm DTMP (Dynamic Thermal Power Management) te ajoute, ki pèmèt ou kontwole dinamik konsomasyon pouvwa diferan aparèy ki baze sou limit tanperati jeneral yo.
    • Kapasite nan bati nwayo a lè l sèvi avèk du Clang la ak enklizyon nan optimize nan etap la ki lye (LTO, Link Time Optimization) te aplike. Optimize LTO diferan lè yo pran an kont eta a nan tout dosye ki enplike nan pwosesis la bati, pandan y ap mòd optimize tradisyonèl yo optimize chak fichye separeman epi yo pa pran an kont kondisyon yo pou rele fonksyon yo defini nan lòt dosye. Pou egzanp, ak LTO, deplwaman inline posib pou fonksyon ki soti nan lòt dosye, kòd ki pa itilize pa enkli nan dosye a ègzèkutabl, tcheke kalite ak optimize jeneral yo te pote soti nan nivo pwojè a kòm yon antye. Sipò LTO kounye a limite a achitekti x86 ak ARM64.
    • Li posib pou chwazi mòd preemption (PREEMPT) nan pwogramasyon travay la nan etap bòt la (preempt=none/voluntary/full) oswa pandan w ap travay nan debugfs (/debug/sched_debug), si yo te espesifye anviwònman PREEMPT_DYNAMIC lè w ap bati nwayo a. Précédemment, mòd nan extrusion te kapab sèlman mete nan nivo paramèt asanble yo. Chanjman an pèmèt distribisyon yo voye nwayo ak mòd PREEMPT aktive, ki bay yon latansi minimòm pou biwo yo nan pri a nan yon ti penalite debi, epi si sa nesesè retounen nan PREEMPT_VOLUNTARY (yon mòd entèmedyè pou Desktop) oswa PREEMPT_NONE (bay maksimòm debi pou sèvè) .
    • Sipò pou operasyon atomik BPF_ADD, BPF_AND, BPF_OR, BPF_XOR, BPF_XCHG ak BPF_CMPXCHG te ajoute nan subsistèm BPF.
    • Pwogram BPF yo bay kapasite pou jwenn aksè nan done sou pil la lè l sèvi avèk endikasyon ak konpanse varyab. Pou egzanp, si anvan ou te kapab sèlman itilize yon endèks eleman konstan pou jwenn aksè nan yon etalaj sou chemine a, kounye a ou ka itilize yon sèl ki chanje. Kontwòl aksè sèlman nan limit ki egziste deja fèt pa verifikatè BPF la. Karakteristik sa a disponib sèlman pou pwogram privilejye akòz enkyetid sou eksplwatasyon frajilite egzekisyon kòd spéculatif.
    • Te ajoute kapasite pou tache pwogram BPF sou trasepoints vid ki pa asosye ak evènman tras vizib nan espas itilizatè (konsèvasyon ABI pa garanti pou trasepoints sa yo).
    • Yo te aplike sipò pou otobis CXL 2.0 (Compute Express Link), ki itilize pou òganize entèraksyon gwo vitès ant CPU a ak aparèy memwa (pèmèt ou sèvi ak aparèy memwa ekstèn kòm yon pati nan RAM oswa memwa pèmanan, tankou si memwa sa a. yo te konekte atravè yon kontwolè memwa estanda nan CPU a).
    • Te ajoute chofè nvmem pou rekipere done ki soti nan zòn memwa ki rezève firmwèr ki pa aksesib dirèkteman nan Linux (pa egzanp, memwa EEPROM ki aksesib fizikman sèlman pou firmwèr la, oswa done ki aksesib sèlman pandan faz demaraj bonè a).
    • Sipò pou sistèm profilage "oprofile" la te retire, ki pa te lajman itilize e ki te ranplase pa mekanis perf ki pi modèn.
    • Io_uring asynchrone I/O koòdone bay entegrasyon ak cgroups ki kontwole itilizasyon memwa.
    • Achitekti RISC-V sipòte sistèm NUMA, ansanm ak mekanis kprobes ak uprobes.
    • Te ajoute kapasite pou sèvi ak apèl sistèm kcmp () kèlkeswa fonksyonalite snapshots eta pwosesis (checkpoint/restore).
    • Makro EXPORT_UNUSED_SYMBOL() ak EXPORT_SYMBOL_GPL_FUTURE() yo, ki pa te itilize nan pratik pou plizyè ane, yo te retire.
  • Virtualization ak sekirite
    • Te ajoute mekanis pwoteksyon KFence (Kernel Electric Fence), ki kenbe erè lè w ap travay ak memwa, tankou depase tanpon ak aksè apre yo fin libere memwa. Kontrèman ak mekanis debogaj KASAN, subsistèm KFence karakterize pa gwo vitès opere ak ba anlè, ki pèmèt ou trape erè memwa ki parèt sèlman sou sistèm k ap travay oswa pandan operasyon alontèm.
    • Te ajoute sipò pou hypervisor ACRN, ekri ak yon je pou pare pou travay an tan reyèl ak konvnab pou itilize nan sistèm misyon kritik. ACRN bay sou tèt minim, garanti ba latansi ak bon jan repons lè kominike avèk ekipman yo. Sipòte virtualizasyon resous CPU, I/O, subsystem rezo, grafik ak operasyon son. ACRN ka itilize pou kouri plizyè machin vityèl izole nan inite kontwòl elektwonik, panno enstriman, sistèm enfòmasyon otomobil, aparèy IoT konsomatè ak lòt teknoloji entegre. ACRN sipòte de kalite sistèm envite - VM sèvis privilejye, ki itilize pou jere resous sistèm yo (CPU, memwa, I/O, elatriye), ak VM Itilizatè koutim, ki ka kouri distribisyon Linux, Android ak Windows.
    • Nan subsistèm IMA (Achitekti Mezi Entegrite), ki kenbe yon baz done hash pou tcheke entegrite nan dosye ak metadata ki asosye, kounye a li vin posib yo tcheke entegrite nan done yo nan nwayo a li menm, pou egzanp, swiv chanjman nan règ SELinux. .
    • Kapasite pou entèsepte hypercalls Xen epi voye yo bay Emulation kap kouri nan espas itilizatè yo te ajoute nan hypervisor KVM la.
    • Te ajoute kapasite pou itilize Linux kòm anviwònman rasin pou Hyper-V hypervisor la. Anviwònman rasin lan gen aksè dirèk nan pyès ki nan konpitè epi yo itilize sistèm envite yo (analòg ak Dom0 nan Xen). Jiska kounye a, Hyper-V (Microsoft Hypervisor) sipòte Linux sèlman nan anviwònman envite, men hypervisor nan tèt li te kontwole nan yon anviwònman Windows ki baze sou.
    • Te ajoute sipò pou chifreman an liy pou kat eMMC, sa ki pèmèt ou sèvi ak mekanis chifreman ki entegre nan kontwolè kondwi a ki transparan ankripte ak dechifre I/O.
    • Sipò pou RIPE-MD 128/256/320 ak Tiger 128/160/192 hashes, ki pa itilize nan nwayo a, osi byen ke chifreman kouran Salsa20, ki te ranplase pa algorithm ChaCha20, yo te retire nan la. sous-sistèm kript. Algorithm blake2 a te mete ajou pou aplike blake2s.
  • Sou-sistèm rezo
    • Te ajoute kapasite pou deplase moun k ap okipe biwo vòt NAPI pou aparèy rezo yo nan yon fil separe, ki pèmèt amelyore pèfòmans pou kèk kalite kantite travay. Anvan sa, biwo vòt yo te fèt nan kontèks softirq epi yo pa te kouvri pa pwogramasyon travay la, ki te fè li difisil pou fè optimize amann pou reyalize pèfòmans maksimòm. Egzekisyon nan yon fil nwayo separe pèmèt moun k ap okipe biwo vòt la obsève nan espas itilizatè a, tache ak nwayo CPU endividyèl, epi yo pran an kont lè w ap planifye chanjman travay. Pou pèmèt nouvo mòd nan sysfs, yo pwopoze paramèt /sys/class/net//threaded.
    • Entegrasyon nan nwayo a nan MPTCP (MultiPath TCP), yon ekstansyon nan pwotokòl la TCP pou òganize operasyon an nan yon koneksyon TCP ak livrezon an nan pake ansanm sou plizyè wout atravè diferan koòdone rezo ki asosye ak adrès IP diferan. Nouvo lage a ajoute kapasite nan bay priyorite nan sèten fil, ki pèmèt, pou egzanp, yo òganize travay la nan fil backup ki vire sou sèlman si gen pwoblèm ak fil prensipal la.
    • IGMPv3 ajoute sipò pou mekanis EHT (Explicit Host Tracking).
    • Motè filtraj pake Netfilter a bay kapasite pou posede sèten tab pou jwenn kontwòl eksklizif (pa egzanp, yon pwosesis firewall background ka pran an komen nan sèten tab, anpeche nenpòt lòt moun entèfere ak yo).
  • Ekipman
    • Nou netwaye platfòm ARM demode ak ki pa konsève. Yo retire kòd pou platfòm efm32, picoxcell, prima2, tango, u300, zx ak c6x, ansanm ak chofè ki asosye yo.
    • Chofè amdgpu a bay kapasite pou overclock (OverDrive) kat ki baze sou Sienna Cichlid GPU (Navi 22, Radeon RX 6xxx). Te ajoute sipò pou fòma pixel FP16 pou DCE (motè kontwolè ekspozisyon) soti nan 8yèm rive nan 11yèm jenerasyon. Pou GPU Navy Flounder (Navi 21) ak APU Van Gogh, kapasite pou reset GPU la te aplike.
    • Chofè i915 pou kat grafik Intel aplike paramèt i915.mitigations pou enfim mekanis izolasyon ak pwoteksyon an favè pèfòmans amelyore. Pou chips ki kòmanse nan Tiger Lake, sipò pou mekanis VRR (Variable Rate Refresh) enkli, ki pèmèt ou chanje adaptive to rafrechisman monitè kè bebe a pou asire lis epi pa gen okenn espas pandan jwèt yo. Gen sipò pou teknoloji Intel Clear Color pou amelyore presizyon koulè. Te ajoute sipò pou DP-HDMI 2.1. Kapasite pou kontwole ekleraj panno eDP yo te aplike. Pou GPU Gen9 ak sipò LSPCON (Level Shifter and Protocol Converter), sipò HDR pèmèt.
    • Nouvo chofè a ajoute sipò inisyal pou GPU NVIDIA ki baze sou achitekti GA100 (Ampere).
    • Chofè a msm ajoute sipò pou Adreno 508, 509 ak 512 GPU yo itilize nan SDM (Snapdragon) 630, 636 ak 660 chips.
    • Te ajoute sipò pou kat son Sound BlasterX AE-5 Plus, Lexicon I-ONIX FW810s ak Pioneer DJM-750. Te ajoute sipò pou subsistèm odyo Intel Alder Lake PCH-P. Sipò pou simulation lojisyèl pou konekte ak dekonekte yon konektè odyo yo te aplike pou moun kap debogaj nan espas itilizatè.
    • Te ajoute sipò pou konsola jwèt Nintendo 64 fabrike soti nan 1996 a 2003 (tantativ sot pase yo pò Linux nan Nintendo 64 la pa te ranpli epi yo te klase kòm Vaporware). Motivasyon pou kreye yon nouvo pò pou yon platfòm demode, ki pa te lage pou prèske ven ane, se dezi a ankouraje devlopman nan Emulation ak senplifye pò nan jwèt.
    • Te ajoute chofè pou kontwolè jwèt Sony PlayStation 5 DualSense.
    • Te ajoute sipò pou tablo ARM, aparèy ak platfòm: PineTab, Snapdragon 888 / SM8350, Snapdragon MTP, Two Beacon EmbeddedWorks, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M M4B, NanoPi MXNUMXB.
    • Te ajoute sipò pou Purism Librem5 Evergreen, Xperia Z3+/Z4/Z5, ASUS Zenfone 2 Laser, BQ Aquaris X5, OnePlus6, OnePlus6T, Samsung GT-I9070 smartphones.
    • Te ajoute chofè bcm-vk pou tablo akseleratè Broadcom VK (pa egzanp, tablo Valkyrie ak Viper PCIe), ki ka itilize pou dechaje operasyon pwosesis odyo, videyo ak imaj, osi byen ke operasyon ki gen rapò ak chifreman, nan yon aparèy separe.
    • Te ajoute sipò pou platfòm Lenovo IdeaPad ak kapasite pou kontwole chaj konstan ak ekleraj klavye. Yo bay tou sipò pou pwofil ACPI platfòm ThinkPad ak kapasite pou kontwole mòd konsomasyon pouvwa. Te ajoute chofè pou Lenovo ThinkPad X1 Tablet Gen 2 HID subsystem.
    • Te ajoute chofè ov5647 ak sipò pou modil kamera pou Franbwaz Pi.
    • Te ajoute sipò pou tablo RISC-V SoC FU740 ak HiFive Unleashed. Yo te ajoute yon nouvo chofè pou chip Kendryte K210 tou.

Sous: opennet.ru

Add nouvo kòmantè