Itusilẹ ekuro Linux 5.12

Lẹhin oṣu meji ti idagbasoke, Linus Torvalds ṣafihan itusilẹ ti ekuro Linux 5.12. Lara awọn ayipada ti o ṣe akiyesi julọ: atilẹyin fun awọn ẹrọ bulọọki ti agbegbe ni Btrfs, agbara lati ṣe maapu awọn ID olumulo fun eto faili, ṣiṣe mimọ awọn ile-iṣọ ARM, ipo kikọ “ifẹ” ni NFS, ẹrọ LOOKUP_CACHED fun ṣiṣe ipinnu awọn ọna faili lati kaṣe , Atilẹyin fun awọn itọnisọna atomiki ni BPF, eto ti n ṣatunṣe aṣiṣe KFENCE fun idamo awọn aṣiṣe nigba ti n ṣiṣẹ pẹlu iranti, ipo idibo NAPI ti nṣiṣẹ ni okun kernel ọtọtọ ni akopọ nẹtiwọki, ACRN hypervisor, agbara lati yi awoṣe ti o ṣaju pada lori fifo ni iṣẹ-ṣiṣe. oluṣeto ati atilẹyin fun awọn iṣapeye LTO nigbati o ba kọ ni Clang.

Ẹya tuntun pẹlu 14170 (ni itusilẹ ti tẹlẹ 15480) awọn atunṣe lati awọn olupilẹṣẹ 1946 (1991), iwọn alemo jẹ 38 MB (awọn iyipada ti o kan awọn faili 12102 (12090), 538599 (868025) awọn laini koodu ti ṣafikun, 333377 (261456)43 awọn ila ti paarẹ). O fẹrẹ to 5.12% ti gbogbo awọn ayipada ti a ṣafihan ni 17 ni ibatan si awọn awakọ ẹrọ, isunmọ 12% ti awọn ayipada ni ibatan si imudojuiwọn koodu kan pato si awọn faaji ohun elo, 5% jẹ ibatan si akopọ nẹtiwọọki, 4% jẹ ibatan si awọn eto faili, ati XNUMX% jẹ ibatan si awọn eto inu ekuro inu.

Awọn imotuntun akọkọ:

  • Disk Subsystem, I/O ati File Systems
    • Agbara lati ṣe maapu awọn ID olumulo fun awọn ọna ṣiṣe faili ti a fi sii (o le ya awọn faili ti olumulo kan lori ipin ajeji ti a gbe soke pẹlu olumulo miiran lori eto lọwọlọwọ). Iyaworan jẹ atilẹyin fun FAT, ext4 ati awọn ọna ṣiṣe faili XFS. Iṣẹ ṣiṣe ti a dabaa jẹ ki o rọrun lati pin awọn faili laarin awọn olumulo oriṣiriṣi ati lori awọn kọnputa oriṣiriṣi, pẹlu aworan agbaye yoo ṣee lo ninu ẹrọ ilana ile gbigbe ti ile gbigbe ti eto, gbigba awọn olumulo laaye lati gbe awọn ilana ile wọn si media ita ati lo wọn lori awọn kọnputa oriṣiriṣi, aworan agbaye. awọn ID olumulo ti ko baramu. Ohun elo miiran ti o wulo ni lati ṣeto ipese ti iraye si pinpin si awọn faili lati ọdọ agbalejo ita, laisi iyipada gangan data nipa awọn oniwun awọn faili ninu eto faili naa.
    • Awọn abulẹ LOOKUP_CACHED ni a ti gba sinu ekuro, gbigba awọn iṣẹ ṣiṣe lati pinnu ọna faili lati aaye olumulo laisi idilọwọ, da lori data ti o wa ninu kaṣe. Ipo LOOKUP_CACHED ti mu ṣiṣẹ ni openat2 () ipe nipasẹ gbigbe ọkọ ayọkẹlẹ RESOLVE_CACHED, ninu eyiti a ti ṣiṣẹ data nikan lati kaṣe, ati pe ti ipinnu ọna ba nilo iraye si awakọ, aṣiṣe EAGAIN ti pada.
    • Eto faili Btrfs ti ṣafikun atilẹyin ibẹrẹ fun awọn ẹrọ idena agbegbe (awọn ẹrọ lori awọn disiki oofa lile tabi awọn NVMe SSDs, aaye ibi-itọju ninu eyiti o pin si awọn agbegbe ti o jẹ awọn ẹgbẹ ti awọn bulọọki tabi awọn apa, eyiti a gba laaye ni afikun lẹsẹsẹ ti data, imudojuiwọn gbogbo ẹgbẹ ti awọn bulọọki). Ni ipo kika-nikan, atilẹyin fun awọn bulọọki pẹlu metadata ati data ti o kere ju oju-iwe kan (oju-iwe abẹlẹ) ti wa ni imuse.
    • Ninu eto faili F2FS, agbara lati yan algoridimu ati ipele titẹkuro ti ṣafikun. Atilẹyin ti a ṣafikun fun funmorawon ipele giga fun algoridimu LZ4. Ti ṣe aṣayan iṣagbesori checkpoint_merge.
    • Aṣẹ ioctl tuntun kan FS_IOC_READ_VERITY_METADATA ti jẹ imuse lati ka metadata lati awọn faili ti o ni aabo pẹlu FS-verity.
    • Onibara NFS ṣe imuse ipo kikọ “ifẹ” kan (kọ = itara), nigbati o ba ṣiṣẹ, kikọ awọn iṣẹ si faili kan ni a gbe lọ si olupin lẹsẹkẹsẹ, ni ikọja kaṣe oju-iwe naa. Ipo yii ngbanilaaye lati dinku agbara iranti, pese gbigba lẹsẹkẹsẹ ti alaye nipa opin aaye ọfẹ ninu eto faili, ati ni awọn ipo kan jẹ ki o ṣee ṣe lati ṣaṣeyọri iṣẹ ṣiṣe pọ si.
    • Awọn aṣayan oke tuntun ti ni afikun si CIFS (SMB): acregmax lati ṣakoso caching faili ati acdirmax lati ṣakoso caching metadata liana.
    • Ni XFS, ipo iṣayẹwo ipin-ọpọ-asapo ti ṣiṣẹ, ipaniyan fsync ti ni iyara, ati pe koodu ti dagba ti pese lati ṣe iṣẹ ti idinku iwọn eto faili naa.
  • Iranti ati awọn iṣẹ eto
    • A ti ṣafikun DTMP (Iṣakoso Agbara Agbara Yiyi) ti a ti ṣafikun, gbigba ọ laaye lati ṣe adaṣe ni agbara agbara ti awọn ẹrọ oriṣiriṣi ti o da lori ṣeto awọn opin iwọn otutu gbogbogbo.
    • Agbara lati kọ ekuro nipa lilo olupilẹṣẹ Clang pẹlu ifisi ti awọn iṣapeye ni ipele sisopọ (LTO, Imudara Akoko Ọna asopọ) ti ni imuse. Awọn iṣapeye LTO yatọ nipa gbigbe sinu iroyin ipo ti gbogbo awọn faili ti o ni ipa ninu ilana kikọ, lakoko ti awọn ipo iṣapeye aṣa ṣe iṣapeye faili kọọkan lọtọ ati pe ko ṣe akiyesi awọn ipo fun awọn iṣẹ ipe ti a ṣalaye ni awọn faili miiran. Fun apẹẹrẹ, pẹlu LTO, imuṣiṣẹ inline ṣee ṣe fun awọn iṣẹ lati awọn faili miiran, koodu ti ko lo ko si ninu faili ti o ṣiṣẹ, ṣiṣe ayẹwo iru ati iṣapeye gbogbogbo ni a ṣe ni ipele iṣẹ akanṣe lapapọ. Atilẹyin LTO lọwọlọwọ ni opin si x86 ati awọn faaji ARM64.
    • O ṣee ṣe lati yan awọn ipo iṣaju (PREEMPT) ninu oluṣeto iṣẹ-ṣiṣe ni ipele bata (preempt = ko si / atinuwa / kikun) tabi lakoko ṣiṣẹ nipasẹ awọn debugfs (/ debug/sched_debug), ti eto PREEMPT_DYNAMIC ba jẹ pato nigbati o nkọ ekuro. Ni iṣaaju, ipo extrusion le ṣee ṣeto nikan ni ipele awọn paramita apejọ. Iyipada naa ngbanilaaye awọn ipinpinpin lati gbe awọn kernels pẹlu ipo PREEMPT ṣiṣẹ, eyiti o pese lairi kekere fun awọn kọnputa agbeka ni idiyele ti ijiya idawọle kekere kan, ati pe ti o ba jẹ dandan ṣubu pada si PREEMPT_VOLUNTARY (ipo agbedemeji fun awọn kọǹpútà alágbèéká) tabi PREEMPT_NONE (pese iwọntunwọnsi ti o pọju fun awọn olupin) .
    • Atilẹyin fun awọn iṣẹ atomiki BPF_ADD, BPF_AND, BPF_OR, BPF_XOR, BPF_XCHG ati BPF_CMPXCHG ti ni afikun si eto abẹlẹ BPF.
    • Awọn eto BPF ni a fun ni agbara lati wọle si data lori akopọ nipa lilo awọn itọka pẹlu awọn aiṣedeede oniyipada. Fun apẹẹrẹ, ti o ba jẹ ni iṣaaju o le lo itọka eroja igbagbogbo lati wọle si orun lori akopọ, ni bayi o le lo ọkan iyipada. Iṣakoso wiwọle nikan laarin awọn aala ti o wa tẹlẹ ni a ṣe nipasẹ oludaniloju BPF. Ẹya yii wa fun awọn eto ti o ni anfani nikan nitori awọn ifiyesi nipa ilokulo ti awọn ailagbara ipaniyan koodu.
    • Ṣe afikun agbara lati so awọn eto BPF pọ si awọn aaye itọpa ti ko ni nkan ṣe pẹlu awọn iṣẹlẹ itọpa ti o han ni aaye olumulo (Itọju ABI ko ṣe iṣeduro fun iru awọn aaye itọpa).
    • Atilẹyin fun ọkọ akero CXL 2.0 (Compute Express Link) ti ni imuse, eyiti o lo lati ṣeto ibaraenisepo iyara-giga laarin Sipiyu ati awọn ẹrọ iranti (gba ọ laaye lati lo awọn ẹrọ iranti ita bi apakan ti Ramu tabi iranti titilai, bi ẹnipe iranti yii won ti sopọ nipasẹ kan boṣewa iranti oludari ni Sipiyu).
    • Ti ṣafikun awakọ nvmem lati gba data lati awọn agbegbe iranti ti o wa ni ipamọ famuwia ti ko ni iraye si Linux taara (fun apẹẹrẹ, iranti EEPROM ti o wa ni wiwa ti ara nikan si famuwia, tabi data ti o wa nikan lakoko ipele ibẹrẹ ibẹrẹ).
    • Atilẹyin fun eto profaili “oprofile” ti yọkuro, eyiti ko lo jakejado ati ti rọpo nipasẹ ẹrọ perf igbalode diẹ sii.
    • Ni wiwo io_uring asynchronous I/O n pese isọpọ pẹlu awọn ẹgbẹ ti o ṣakoso lilo iranti.
    • Itumọ RISC-V ṣe atilẹyin awọn ọna ṣiṣe NUMA, bakanna bi awọn kprobes ati awọn ilana uprobes.
    • Ṣe afikun agbara lati lo ipe eto kcmp () laibikita iṣẹ ṣiṣe ti awọn fọto ipo ilana ilana (ṣayẹwo / mu pada).
    • EXPORT_UNUSED_SYMBOL() ati EXPORT_SYMBOL_GPL_FUTURE() Makiro, ti a ko tii lo ninu ise fun opolopo odun, ti a kuro.
  • Foju ati Aabo
    • Ilana aabo KFence (Kernel Electric Fence) ti a ṣafikun, eyiti o mu awọn aṣiṣe mu nigbati o ba n ṣiṣẹ pẹlu iranti, gẹgẹbi awọn ifasilẹ ifipamọ ati iwọle lẹhin iranti ominira. Ko dabi ẹrọ n ṣatunṣe aṣiṣe KASAN, eto ipilẹ KFence jẹ ẹya nipasẹ iyara iṣẹ ṣiṣe giga ati oke kekere, eyiti o fun ọ laaye lati mu awọn aṣiṣe iranti ti o han nikan lori awọn eto iṣẹ tabi lakoko iṣẹ ṣiṣe igba pipẹ.
    • Atilẹyin ti a ṣafikun fun hypervisor ACRN, ti a kọ pẹlu oju si imurasilẹ fun awọn iṣẹ ṣiṣe akoko gidi ati ibamu fun lilo ninu awọn eto pataki-ipinfunni. ACRN n pese owo-ori ti o kere ju, ṣe iṣeduro lairi kekere ati idahun deedee nigbati o ba n ṣepọ pẹlu ohun elo. Ṣe atilẹyin agbara agbara ti awọn orisun Sipiyu, I/O, eto inu nẹtiwọọki, awọn aworan ati awọn iṣẹ ohun. ACRN le ṣee lo lati ṣiṣẹ ọpọlọpọ awọn ẹrọ foju ti o ya sọtọ ni awọn ẹya iṣakoso itanna, awọn panẹli ohun elo, awọn eto alaye ọkọ ayọkẹlẹ, awọn ẹrọ IoT olumulo ati imọ-ẹrọ ifibọ miiran. ACRN ṣe atilẹyin awọn oriṣi meji ti awọn ọna ṣiṣe alejo - Awọn iṣẹ VM ti o ni anfani, eyiti a lo lati ṣakoso awọn orisun eto (CPU, iranti, I/O, ati bẹbẹ lọ), ati awọn VM olumulo aṣa, eyiti o le ṣiṣe awọn pinpin Linux, Android ati Windows.
    • Ninu eto IMA (Integrity Measurement Architecture), eyiti o ṣetọju ibi ipamọ data hash fun ṣiṣe ayẹwo iduroṣinṣin ti awọn faili ati awọn metadata ti o somọ, bayi o ṣee ṣe lati ṣayẹwo iduroṣinṣin data ti ekuro funrararẹ, fun apẹẹrẹ, lati tọpa awọn ayipada ninu awọn ofin SELinux. .
    • Agbara lati ṣe idilọwọ awọn ipe hyperpiresi Xen ati siwaju wọn si emulator nṣiṣẹ ni aaye olumulo ti ni afikun si hypervisor KVM.
    • Ṣe afikun agbara lati lo Lainos bi agbegbe gbongbo fun hypervisor Hyper-V. Ayika gbongbo ni iraye si taara si ohun elo ati pe o lo lati ṣiṣe awọn eto alejo (afọwọṣe si Dom0 ni Xen). Titi di bayi, Hyper-V (Microsoft Hypervisor) ṣe atilẹyin Linux nikan ni awọn agbegbe alejo, ṣugbọn hypervisor funrararẹ ni iṣakoso lati agbegbe orisun Windows.
    • Atilẹyin ti a ṣafikun fun fifi ẹnọ kọ nkan inline fun awọn kaadi eMMC, gbigba ọ laaye lati lo awọn ọna fifi ẹnọ kọ nkan ti a ṣe sinu oluṣakoso awakọ ti o parọ ni gbangba ati kọ I/O.
    • Atilẹyin fun RIPE-MD 128/256/320 ati Tiger 128/160/192 hashes, eyiti a ko lo ninu mojuto, bakanna bi ṣiṣan ṣiṣan Salsa20, eyiti o rọpo nipasẹ ChaCha20 algorithm, ti yọkuro lati inu crypto subsystem. Algoridimu blake2 ti ni imudojuiwọn lati ṣe awọn blake2s.
  • Nẹtiwọọki subsystem
    • Ṣe afikun agbara lati gbe olutọju idibo NAPI fun awọn ẹrọ nẹtiwọọki si okun kernel ọtọtọ, eyiti o fun laaye fun ilọsiwaju iṣẹ fun diẹ ninu awọn iru iṣẹ ṣiṣe. Ni iṣaaju, idibo ni a ṣe ni ipo ti softirq ati pe ko ni aabo nipasẹ oluṣeto iṣẹ, eyiti o jẹ ki o ṣoro lati ṣe awọn iṣapeye ti o dara lati ṣaṣeyọri iṣẹ ṣiṣe ti o pọju. Ipaniyan ni okun kernel ọtọtọ ngbanilaaye oluṣakoso idibo lati ṣe akiyesi lati aaye olumulo, so mọ awọn ohun kohun Sipiyu kọọkan, ati mu sinu akọọlẹ nigbati ṣiṣe eto iṣẹ-ṣiṣe. Lati mu ipo tuntun ṣiṣẹ ni sysfs, a dabaa paramita /sys/class/net//asapo paramita.
    • Integration sinu mojuto MPTCP (MultiPath TCP), itẹsiwaju ti ilana TCP fun siseto iṣẹ ti asopọ TCP kan pẹlu ifijiṣẹ awọn apo-iwe ni nigbakannaa pẹlu awọn ipa-ọna pupọ nipasẹ awọn atọkun nẹtiwọọki oriṣiriṣi ti o ni nkan ṣe pẹlu awọn adirẹsi IP oriṣiriṣi. Itusilẹ tuntun ṣe afikun agbara lati fi pataki si awọn okun kan, eyiti o fun laaye, fun apẹẹrẹ, lati ṣeto iṣẹ ti awọn okun afẹyinti ti o tan-an nikan ti awọn iṣoro ba wa pẹlu okun akọkọ.
    • IGMPv3 ṣe afikun atilẹyin fun ẹrọ EHT (Titọpa Gbalejo Gbalejo).
    • Ẹrọ sisẹ soso Netfilter n pese agbara lati ni awọn tabili kan lati ni iṣakoso iyasoto (fun apẹẹrẹ, ilana ogiriina lẹhin le gba nini ti awọn tabili kan, ṣe idiwọ fun ẹnikẹni miiran lati dabaru pẹlu wọn).
  • Awọn ohun elo
    • A nu igba atijọ ati awọn iru ẹrọ ARM ti ko tọju. Awọn koodu fun efm32, picoxcell, prima2, tango, u300, zx ati awọn iru ẹrọ c6x, ati awọn awakọ ti o somọ wọn, ti yọkuro.
    • Awakọ amdgpu n pese agbara lati overclock (OverDrive) awọn kaadi ti o da lori Sienna Cichlid GPU (Navi 22, Radeon RX 6xxx). Atilẹyin ti a ṣafikun fun ọna kika piksẹli FP16 fun DCE (ẹnjini oludari ifihan) lati 8th si iran 11th. Fun GPU Navy Flounder (Navi 21) ati APU Van Gogh, agbara lati tun GPU ti wa ni imuse.
    • Awakọ i915 fun awọn kaadi eya Intel ṣe imuse paramita i915.mitigations lati mu ipinya ati awọn ọna aabo kuro ni ojurere ti ilọsiwaju iṣẹ. Fun awọn eerun igi ti o bẹrẹ lati Tiger Lake, atilẹyin fun ẹrọ VRR (Iyipada Iyipada Iyipada Iyipada) wa ninu, eyiti o fun ọ laaye lati yi iyipada iwọntunwọnsi atẹle lati rii daju didan ati pe ko si awọn ela lakoko awọn ere. Atilẹyin fun imọ-ẹrọ Awọ Clear Intel wa ninu fun ilọsiwaju awọ deede. Atilẹyin ti a ṣafikun fun DP-HDMI 2.1. Agbara lati ṣakoso ina ẹhin ti awọn panẹli eDP ti ni imuse. Fun Gen9 GPUs pẹlu LSPCON (Ipele Shifter ati Protocol Converter) atilẹyin, atilẹyin HDR ṣiṣẹ.
    • Awakọ nouveau ṣe afikun atilẹyin akọkọ fun NVIDIA GPUs ti o da lori faaji GA100 (Ampere).
    • Awakọ msm ṣe afikun atilẹyin fun Adreno 508, 509 ati 512 GPU ti a lo ninu SDM (Snapdragon) 630, 636 ati 660 awọn eerun igi.
    • Atilẹyin ti a ṣafikun fun Ohun BlasterX AE-5 Plus, Lexicon I-ONIX FW810s ati Pioneer DJM-750 awọn kaadi ohun. Afikun atilẹyin fun Intel Alder Lake PCH-P iwe ohun subsystem. Atilẹyin fun kikopa sọfitiwia ti sisopọ ati gige asopọ ohun ohun ti ni imuse fun awọn olutọju n ṣatunṣe aṣiṣe ni aaye olumulo.
    • Atilẹyin ti a ṣafikun fun awọn afaworanhan ere Nintendo 64 ti a ṣelọpọ lati 1996 si 2003 (awọn igbiyanju ti o kọja lati gbe Linux si Nintendo 64 ko pari ati pe wọn pin si bi Vaporware). Iwuri fun ṣiṣẹda ibudo tuntun fun pẹpẹ ti igba atijọ, eyiti ko ti tu silẹ fun o fẹrẹ to ọdun ogun, ni ifẹ lati ṣe idagbasoke idagbasoke ti awọn emulators ati irọrun gbigbe awọn ere.
    • Iwakọ ti a ṣafikun fun Sony PlayStation 5 DualSense oludari ere.
    • Atilẹyin ti a ṣafikun fun awọn igbimọ ARM, awọn ẹrọ ati awọn iru ẹrọ: PineTab, Snapdragon 888 / SM8350, Snapdragon MTP, Beacon EmbeddedWorks Meji, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M Nano, NanoPi M4B.
    • Atilẹyin ti a ṣafikun fun Purism Librem5 Evergreen, Xperia Z3 +/Z4/Z5, ASUS Zenfone 2 Laser, BQ Aquaris X5, OnePlus6, OnePlus6T, Samsung GT-I9070 fonutologbolori.
    • Ṣafikun awakọ bcm-vk fun awọn igbimọ imuyara Broadcom VK (fun apẹẹrẹ, Valkyrie ati awọn igbimọ PCIe paramọlẹ), eyiti o le ṣee lo lati gbe ohun, fidio ati awọn iṣẹ ṣiṣe aworan, ati awọn iṣẹ ṣiṣe ti o jọmọ fifi ẹnọ kọ nkan, si ẹrọ lọtọ.
    • Atilẹyin ti a ṣafikun fun Syeed Lenovo IdeaPad pẹlu agbara lati ṣakoso gbigba agbara igbagbogbo ati ina ẹhin keyboard. Paapaa ti a pese ni atilẹyin fun profaili ACPI ti pẹpẹ ThinkPad pẹlu agbara lati ṣakoso awọn ipo lilo agbara. Fi kun iwakọ fun Lenovo ThinkPad X1 Tablet Gen 2 HID subsystem.
    • Ti ṣafikun awakọ ov5647 pẹlu atilẹyin fun module kamẹra fun Rasipibẹri Pi.
    • Atilẹyin ti a ṣafikun fun RISC-V SoC FU740 ati awọn lọọgan Unleashed HiFive. Awakọ tuntun fun chirún Kendryte K210 tun ti ṣafikun.

orisun: opennet.ru

Fi ọrọìwòye kun