Itusilẹ ekuro Linux 5.14

Lẹhin oṣu meji ti idagbasoke, Linus Torvalds ṣafihan itusilẹ ti ekuro Linux 5.14. Lara awọn julọ ohun akiyesi ayipada: titun quotactl_fd () ati memfd_secret () awọn ipe eto, yiyọ ti IDE ati aise awakọ, titun I/O olutona ayo fun cgroup, SCHED_CORE-ṣiṣe eto mode, amayederun fun ṣiṣẹda wadi BPF eto loaders.

Ẹya tuntun pẹlu awọn atunṣe 15883 lati awọn olupilẹṣẹ 2002, iwọn alemo jẹ 69 MB (awọn iyipada ti o kan awọn faili 12580, awọn laini koodu 861501 ti ṣafikun, awọn laini 321654 paarẹ). O fẹrẹ to 47% ti gbogbo awọn ayipada ti a ṣafihan ni 5.14 ni ibatan si awọn awakọ ẹrọ, isunmọ 14% ti awọn ayipada ni ibatan si imudojuiwọn koodu kan pato si awọn faaji ohun elo, 13% ni ibatan si akopọ Nẹtiwọọki, 3% ni ibatan si awọn eto faili, ati 3% jẹ ibatan si awọn eto inu ekuro inu.

Awọn imotuntun akọkọ:

  • Disk Subsystem, I/O ati File Systems
    • Oluṣakoso iṣaju I/O tuntun kan ti ni imuse fun awọn ẹgbẹ, rq-qos, eyiti o le ṣakoso pataki sisẹ ti awọn ibeere lati dènà awọn ẹrọ ti ipilẹṣẹ nipasẹ awọn ọmọ ẹgbẹ ti ẹgbẹ kọọkan. Atilẹyin oludari pataki tuntun ti ṣafikun si oluṣeto akoko ipari I/O mq.
    • Eto faili ext4 n ṣe imuse aṣẹ ioctl tuntun kan, EXT4_IOC_CHECKPOINT, eyiti o fi ipa mu gbogbo awọn iṣowo isunmọtosi lati inu iwe akọọlẹ ati awọn buffers ti o somọ wọn lati ṣabọ si disk, ati tun atunkọ agbegbe ti iwe-ipamọ naa lo ni ibi ipamọ. A ti pese iyipada naa gẹgẹbi apakan ti ipilẹṣẹ lati ṣe idiwọ jijo alaye lati awọn eto faili.
    • Awọn iṣapeye iṣẹ ṣiṣe ti ṣe si Btrfs: nipa yiyọkuro gedu ti ko wulo ti awọn abuda ti o gbooro lakoko ipaniyan fsync, iṣẹ ṣiṣe ti awọn iṣẹ aladanla pẹlu awọn abuda ti o gbooro ti pọ si to 17%. Ni afikun, nigba ṣiṣe awọn iṣẹ gige ti ko ni ipa awọn iwọn, mimuuṣiṣẹpọ ni kikun jẹ alaabo, eyiti o dinku akoko iṣẹ nipasẹ 12%. Eto kan ti ṣafikun si sysfs lati ṣe idinwo bandiwidi I/O nigbati o n ṣayẹwo FS. Awọn ipe ioctl ti a ṣafikun lati fagilee iwọn ati piparẹ awọn iṣẹ ẹrọ rẹ.
    • Ni XFS, imuse ti kaṣe ifipamọ ti tun ṣe, eyiti a ti yipada si ipin awọn oju-iwe iranti ni ipo ipele. Imudara kaṣe ṣiṣe.
    • F2FS ṣe afikun aṣayan lati ṣiṣẹ ni ipo kika-nikan ati ṣe imuse ipo kaṣe bulọọki fisinuirindigbindigbin (compress_cache) lati mu ilọsiwaju iṣẹ kika laileto. Atilẹyin ti ni imuse fun fisinuirindigbindigbin awọn faili ti a ya aworan si iranti nipa lilo iṣẹ mmap (). Lati mu funmorawon faili kuro ni yiyan ti o da lori iboju-boju, a ti dabaa aṣayan nocompress tuntun kan.
    • A ti ṣe iṣẹ ni awakọ exFAT lati mu ilọsiwaju pọ si pẹlu diẹ ninu ibi ipamọ kamẹra oni-nọmba.
    • Ṣe afikun ipe eto quotactl_fd (), eyiti o fun ọ laaye lati ṣakoso awọn ipin kii ṣe nipasẹ faili ẹrọ pataki kan, ṣugbọn nipa sisọ asọye faili ti o ni nkan ṣe pẹlu eto faili eyiti o lo ipin naa.
    • Awọn awakọ atijọ fun awọn ẹrọ dina pẹlu wiwo IDE ti yọkuro kuro ninu ekuro; wọn ti rọpo fun igba pipẹ nipasẹ eto abẹlẹ libata.
    • Awakọ “aise” naa ti yọkuro kuro ninu ekuro, n pese iraye si aibikita lati dènà awọn ẹrọ nipasẹ wiwo / dev/aise. Iṣẹ ṣiṣe yii ti pẹ ni imuse ni awọn ohun elo nipa lilo asia O_DIRECT.
  • Iranti ati awọn iṣẹ eto
    • Oluṣeto iṣẹ-ṣiṣe n ṣe imuse ipo iṣeto tuntun kan, SCHED_CORE, eyiti o fun ọ laaye lati ṣakoso iru awọn ilana ti o le ṣe papọ lori ipilẹ Sipiyu kanna. Ilana kọọkan le jẹ idamọ kuki kan ti o ṣalaye iwọn igbẹkẹle laarin awọn ilana (fun apẹẹrẹ, ti o jẹ ti olumulo kanna tabi eiyan). Nigbati o ba n ṣeto ipaniyan koodu, oluṣeto le rii daju pe mojuto Sipiyu kan ni o pin laarin awọn ilana ti o ni nkan ṣe pẹlu oniwun kanna, eyiti o le ṣe idiwọ diẹ ninu awọn ikọlu Specter nipa idilọwọ awọn iṣẹ-ṣiṣe ti o ni igbẹkẹle ati ti ko ni igbẹkẹle lati ṣiṣẹ lori okun SMT kanna (Hyper Threading). .
    • Fun ẹgbẹpọ, atilẹyin fun iṣẹ pipa ti ni imuse, eyiti o fun ọ laaye lati pa gbogbo awọn ilana ti o nii ṣe pẹlu ẹgbẹ ni ẹẹkan (firanṣẹ SIGKILL) nipa kikọ “1” si faili foju cgroup.kill.
    • Awọn agbara ti o gbooro ti o ni ibatan si idahun si wiwa ti awọn titiipa pipin (“awọn titiipa pipin”) ti o waye nigbati o wọle si data ti ko ni ibamu ni iranti nitori otitọ pe nigba ṣiṣe ilana atomiki kan, data naa kọja awọn laini kaṣe Sipiyu meji. Iru ìdènà bẹẹ nyorisi idinku pataki ninu iṣẹ, nitorinaa ni iṣaaju o ṣee ṣe lati fi agbara mu ohun elo ti o fa idinamọ naa. Itusilẹ tuntun ṣe afikun paramita laini aṣẹ kernel “split_lock_detect=oṣuwọn: N”, eyiti o fun ọ laaye lati ṣalaye opin jakejado eto lori oṣuwọn awọn iṣẹ titiipa fun iṣẹju kan, lẹhin ti o kọja eyiti eyikeyi ilana ti o ti di orisun titiipa pipin. yoo fi agbara mu lati da duro fun 20 ms dipo ipari.
    • CFS oluṣakoso bandiwidi cgroup (oluṣakoso bandwidth CFS), eyiti o pinnu iye akoko ero isise ti a le pin si ẹgbẹ kọọkan, ṣe imuse agbara lati ṣalaye awọn opin opin akoko, eyiti o fun laaye ni ilana ti o dara julọ ti awọn iṣẹ ṣiṣe ifamọ latency. Fun apẹẹrẹ, ṣeto cpu.cfs_quota_us si 50000 ati cpu.cfs_period_us si 100000 yoo gba ẹgbẹ kan ti awọn ilana lati padanu 100ms ti Sipiyu akoko ni gbogbo 50ms.
    • Awọn amayederun akọkọ ti a ṣafikun fun ṣiṣẹda awọn agberu eto BPF, eyiti yoo tun gba laaye ikojọpọ awọn eto BPF nikan ti o fowo si pẹlu bọtini oni-nọmba igbẹkẹle kan.
    • Ṣafikun iṣẹ futex tuntun kan FUTEX_LOCK_PI2, eyiti o nlo aago monotonic lati ṣe iṣiro akoko akoko ti o ṣe akiyesi akoko ti eto naa lo ni ipo oorun.
    • Fun faaji RISC-V, atilẹyin fun awọn oju-iwe iranti nla (Awọn oju-iwe ti o tobi pupọ) ati agbara lati lo ẹrọ KFENCE lati ṣe awari awọn aṣiṣe nigbati o ba n ṣiṣẹ pẹlu iranti ni imuse.
    • Ipe eto madvise (), eyiti o pese ọna lati mu iṣakoso iranti ilana kan pọ si, ti ṣafikun MADV_POPULATE_READ ati awọn asia MADV_POPULATE_WRITE lati ṣe agbejade “aṣiṣe oju-iwe” lori gbogbo awọn oju-iwe iranti ti a ya aworan lati ka tabi kọ awọn iṣẹ, laisi ṣiṣe kika gangan tabi kọ (tẹlẹ). Lilo awọn asia le wulo fun idinku awọn idaduro ni ipaniyan ti eto naa, nitori ipaniyan ti nṣiṣe lọwọ ti olutọju “aṣiṣe oju-iwe” fun gbogbo awọn oju-iwe ti a ko pin ni ẹẹkan, laisi iduro fun iwọle si wọn gangan.
    • Eto idanwo kunit ti ṣafikun atilẹyin fun ṣiṣe awọn idanwo ni agbegbe QEMU.
    • A ti ṣafikun awọn olutọpa tuntun: “osnoise” lati tọpa awọn idaduro ohun elo ti o fa nipasẹ mimu idalọwọduro, ati “timerlat” lati ṣafihan alaye alaye nipa awọn idaduro nigbati o ba dide lati ami aago aago kan.
  • Foju ati Aabo
    • Ipe eto memfd_secret() ti ni afikun lati ṣẹda agbegbe iranti ikọkọ ni aaye adirẹsi ti o ya sọtọ, ti o han nikan si ilana nini, ko ṣe afihan si awọn ilana miiran, ati pe ko wọle taara si ekuro.
    • Ninu eto sisẹ ipe seccomp, nigba gbigbe awọn olutọju dina sinu aaye olumulo, o ṣee ṣe lati lo iṣẹ atomiki ẹyọkan lati ṣẹda oluṣapejuwe faili kan fun iṣẹ-ṣiṣe ti o ya sọtọ ati da pada nigbati o ba n ṣiṣẹ ipe eto kan. Išišẹ ti a dabaa ṣe ipinnu iṣoro ti idilọwọ olutọju kan ni aaye olumulo nigbati ifihan kan ba de.
    • Fi kun titun kan siseto fun a ìṣàkóso awọn oluşewadi ifilelẹ lọ ni olumulo ID namespace, eyi ti o dè olukuluku rlimit ounka to a olumulo ni "olumulo namespace". Iyipada naa yanju iṣoro naa pẹlu lilo awọn iṣiro orisun ti o wọpọ nigbati olumulo kan nṣiṣẹ awọn ilana ni awọn apoti oriṣiriṣi.
    • Hypervisor KVM fun awọn eto ARM64 ti ṣafikun agbara lati lo itẹsiwaju MTE (MemTag, Ifaagun Tagging Iranti) ni awọn eto alejo, eyiti o fun ọ laaye lati di awọn afi si iṣẹ ipin iranti kọọkan ati ṣeto iṣayẹwo lilo deede ti awọn itọkasi lati ṣe idiwọ ilokulo ti awọn ailagbara ti o ṣẹlẹ nipasẹ iraye si awọn bulọọki iranti ti o ti ni ominira tẹlẹ, ṣiṣan ṣiṣan, awọn iraye si ṣaaju ipilẹṣẹ ati lo ni ita ipo lọwọlọwọ.
    • Awọn ohun elo Ijeri Atọka Syeed ARM64 le ni tunto lọtọ fun ekuro ati aaye olumulo. Imọ-ẹrọ ngbanilaaye lati lo awọn itọnisọna ARM64 pataki lati rii daju awọn adirẹsi ipadabọ nipa lilo awọn ibuwọlu oni nọmba ti o fipamọ sinu awọn iwọn oke ti a ko lo ti itọka funrararẹ.
    • Ipo olumulo Linux ti ṣafikun atilẹyin fun lilo awọn awakọ fun awọn ẹrọ PCI pẹlu ọkọ akero PCI foju kan, ti a ṣe nipasẹ awakọ PCI-over-virtio.
    • Fun awọn ọna ṣiṣe x86, atilẹyin ti a ṣafikun fun ẹrọ paravirtio-iommu paravirtualized, gbigba awọn ibeere IOMMU bii ATTACH, DETACH, MAP ati UNMAP lati firanṣẹ lori irinna vintio laisi afarawe awọn tabili oju-iwe iranti.
    • Fun awọn CPUs Intel, lati idile Skylake si Kofi Lake, lilo Intel TSX (Awọn amugbooro Amuṣiṣẹpọ Iṣowo), eyiti o pese awọn irinṣẹ lati mu ilọsiwaju iṣẹ ti awọn ohun elo asapo lọpọlọpọ nipasẹ imukuro awọn iṣẹ amuṣiṣẹpọ ti ko wulo, jẹ alaabo nipasẹ aiyipada. Awọn ifaagun jẹ alaabo nitori iṣeeṣe ti awọn ikọlu Zombieload ti o ṣe afọwọyi jijo alaye nipasẹ awọn ikanni ẹnikẹta ti o waye lakoko iṣẹ ti ẹrọ TAA (TSX Asynchronous Abort).
  • Nẹtiwọọki subsystem
    • 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 ẹrọ kan fun ṣeto awọn eto imulo hashing ijabọ tirẹ fun IPv4 ati IPv6 (eto imulo hash multipath), jẹ ki o ṣee ṣe lati pinnu lati aaye olumulo eyiti awọn aaye ninu awọn apo-iwe, pẹlu awọn ti a fi sii, yoo ṣee lo nigbati o ṣe iṣiro hash ti o pinnu wun ti ona fun soso.
    • Atilẹyin fun awọn sockets SOCK_SEQPACKET (paṣẹ ati gbigbe igbẹkẹle ti awọn aworan data) ti ni afikun si irinna foju virtio.
    • Awọn agbara ti ẹrọ socket SO_REUSEPORT ti ni ilọsiwaju, eyiti o fun laaye ọpọlọpọ awọn iho igbọran lati sopọ si ibudo kan ni ẹẹkan lati gba awọn asopọ pẹlu pinpin awọn ibeere ti nwọle ni akoko kanna ni gbogbo awọn iho ti a ti sopọ nipasẹ SO_REUSEPORT, eyiti o rọrun lati ṣẹda awọn ohun elo olupin ti ọpọlọpọ-asapo. . Ẹya tuntun ṣe afikun awọn irinṣẹ fun gbigbe iṣakoso si iho miiran ni ọran ikuna nigba ṣiṣe ibeere kan nipasẹ iho ti a ti yan ni ibẹrẹ (yanju iṣoro naa pẹlu pipadanu awọn isopọ kọọkan nigbati awọn iṣẹ tun bẹrẹ).
  • Awọn ohun elo
    • Awakọ amdgpu n pese atilẹyin fun jara AMD Radeon RX 6000 tuntun ti GPUs, codenamed “Beige Goby” (Navi 24) ati “Yellow Carp”, ati atilẹyin ilọsiwaju fun Aldebaran GPU (gfx90a) ati Van Gogh APU. Ṣe afikun agbara lati ṣiṣẹ nigbakanna pẹlu ọpọlọpọ awọn panẹli eDP. Fun APU Renoir, atilẹyin fun ṣiṣẹ pẹlu awọn ifipamọ ti paroko ni iranti fidio (TMZ, Agbegbe Iranti Gbẹkẹle) ti ni imuse. Atilẹyin ti a ṣafikun fun awọn kaadi eya aworan kuro-gbona. Fun Radeon RX 6000 (Navi 2x) GPUs ati agbalagba AMD GPUs, atilẹyin ASPM (Iṣakoso Agbara Ipinle ti nṣiṣe lọwọ) ṣiṣẹ nipasẹ aiyipada, eyiti o ti ṣiṣẹ tẹlẹ fun Navi 1x, Vega ati Polaris GPUs.
    • Fun awọn eerun AMD, atilẹyin fun iranti foju pinpin (SVM, iranti foju pin) ni a ti ṣafikun da lori eto HMM (Iṣakoso iranti orisirisi), eyiti o fun laaye lilo awọn ẹrọ pẹlu awọn ẹka iṣakoso iranti tiwọn (MMU, apakan iṣakoso iranti), eyi ti o le wọle si iranti akọkọ. Ni pataki, lilo HMM, o le ṣeto aaye adirẹsi pinpin laarin GPU ati Sipiyu, ninu eyiti GPU le wọle si iranti akọkọ ti ilana naa.
    • Atilẹyin akọkọ ti a ṣafikun fun imọ-ẹrọ AMD Smart Shift, eyiti o yipada Sipiyu ati awọn eto agbara GPU lori kọǹpútà alágbèéká pẹlu chipset AMD kan ati kaadi awọn aworan lati ṣe alekun iṣẹ ṣiṣe fun ere, ṣiṣatunṣe fidio, ati ṣiṣe 3D.
    • Awakọ i915 fun awọn kaadi eya Intel pẹlu atilẹyin fun awọn eerun Intel Alderlake P.
    • Fikun drm/hyperv awakọ fun Hyper-V ohun ti nmu badọgba eya aworan.
    • Atilẹyin ti a ṣafikun fun Rasipibẹri Pi 400 kọnputa gbogbo-ni-ọkan.
    • Ṣafikun awakọ ikọkọ dell-wmi lati ṣe atilẹyin kamẹra hardware ati awọn iyipada gbohungbohun ti o wa ninu awọn kọnputa agbeka Dell.
    • Fun awọn kọnputa agbeka Lenovo, wiwo WMI kan ti ṣafikun fun iyipada awọn eto BIOS nipasẹ sysfs / sys/class/firmware-attributes/.
    • Atilẹyin ti o gbooro fun awọn ẹrọ pẹlu wiwo USB4.
    • Atilẹyin ti a ṣafikun fun AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 ati Texas Instruments TAS2505 awọn kaadi ohun ati awọn kodẹki. Imudara atilẹyin ohun lori awọn kọnputa agbeka HP ati ASUS. Awọn abulẹ ti a ṣafikun lati dinku awọn idaduro ṣaaju ki ohun to bẹrẹ ti ndun lori awọn ẹrọ USB.

orisun: opennet.ru

Fi ọrọìwòye kun