Cnewyllyn Linux 5.14

Cnewyllyn Linux 5.14

Ar ôl dau fis o ddatblygiad, Linus Torvalds cyflwyno rhyddhau cnewyllyn Linux 5.14. Ymhlith y newidiadau mwyaf nodedig: galwadau system quotactl_fd () a memfd_secret () newydd, cael gwared ar yrwyr ide a amrwd, rheolydd blaenoriaeth I / O newydd ar gyfer cgroup, modd amserlennu tasg SCHED_CORE, seilwaith ar gyfer creu llwythwyr rhaglen BPF wedi'u dilysu.

Mae'r fersiwn newydd yn cynnwys 15883 o atgyweiriadau gan 2002 o ddatblygwyr, maint y clwt yw 69 MB (effeithiwyd ar y newidiadau ar 12580 o ffeiliau, ychwanegwyd 861501 o linellau cod, dilëwyd 321654 o linellau). Mae tua 47% o'r holl newidiadau a gyflwynwyd yn 5.14 yn gysylltiedig â gyrwyr dyfais, mae tua 14% o'r newidiadau yn ymwneud â diweddaru cod sy'n benodol i bensaernïaeth caledwedd, mae 13% yn gysylltiedig â'r pentwr rhwydweithio, mae 3% yn gysylltiedig â systemau ffeiliau, a 3% yn gysylltiedig ag is-systemau cnewyllyn mewnol.

Y prif arloesiadau:

  • is-system disg, systemau mewnbwn/allbwn a ffeiliau:
    • ar gyfer cgroup gweithredu rheolydd blaenoriaeth I/O newydd - rq-qos, a all reoli blaenoriaeth prosesu ceisiadau i rwystro dyfeisiau a gynhyrchir gan aelodau pob cgroup. Mae cefnogaeth rheolwr blaenoriaeth newydd wedi'i hychwanegu at yr amserlen I/O terfyn amser mq;
    • ar system ffeiliau ext4 gweithredu gorchymyn ioctl newydd EXT4_IOC_CHECKPOINT, sy'n gorfodi'r holl drafodion arfaethedig o'r log a byfferau cysylltiedig i ddisg, a hefyd yn trosysgrifo'r ardal a ddefnyddir gan y storfa logio i mewn. Paratowyd y newid fel rhan o fenter i atal gollyngiadau gwybodaeth o systemau ffeiliau;
    • yn Btrfs wedi'i gyflwyno Optimeiddio perfformiad: Trwy ddileu logio priodoleddau estynedig yn ddiangen yn ystod gweithrediad fsync, cynyddodd perfformiad gweithrediadau dwys gyda phriodoleddau estynedig hyd at 17%. Yn ogystal, wrth berfformio gweithrediadau trim nad ydynt yn effeithio ar faint, mae cydamseriad llawn yn anabl, a gostyngodd yr amser gweithredu 12%. Mae gosodiad wedi'i ychwanegu at sysfs i gyfyngu ar lled band I/O wrth wirio'r FS. Ychwanegwyd galwadau ioctl i ganslo gweithrediadau dyfais newid maint a dileu;
    • yn XFS ailweithio gweithredu storfa byffer, sy'n cael ei drosglwyddo i ddyrannu tudalennau cof yn y modd swp. Gwell effeithlonrwydd cache;
    • Ychwanegodd F2FS opsiwn i weithio yn y modd darllen yn unig a gweithredu modd caching bloc cywasgedig (compress_cache) i wella perfformiad darllen ar hap. Rhoddwyd cymorth ar gyfer cywasgu ffeiliau sydd wedi'u mapio i'r cof gan ddefnyddio gweithrediad mmap(). Er mwyn analluogi cywasgu ffeiliau trwy fwgwd yn ddetholus, mae opsiwn mowntio newydd nocompress wedi'i gynnig;
    • mae gwaith wedi'i wneud yn y gyrrwr exFAT i wella cydnawsedd â storio rhai camerâu digidol;
    • galwad system ychwanegol quotactl_fd(), sy'n eich galluogi i reoli cwotâu nid trwy ffeil dyfais arbennig, ond trwy nodi disgrifydd ffeil sy'n gysylltiedig â'r system ffeiliau y cymhwysir y cwota ar ei chyfer;
    • Mae hen yrwyr ar gyfer dyfeisiau bloc gyda'r rhyngwyneb IDE wedi'u tynnu o'r cnewyllyn; maent wedi cael eu disodli ers amser maith gan yr is-system libata. Mae cefnogaeth ar gyfer hen ddyfeisiadau wedi'i gadw'n llawn, mae'r newidiadau'n ymwneud â'r gallu i ddefnyddio hen yrwyr yn unig, pan gafodd y gyriannau eu galw yn /dev/hd*, ac nid /dev/sd*;
    • Mae'r gyrrwr “amrwd” wedi'i dynnu o'r cnewyllyn, gan ddarparu mynediad heb ei glustogi i ddyfeisiau bloc trwy'r rhyngwyneb /dev/raw. Mae'r swyddogaeth hon wedi'i gweithredu ers tro mewn rhaglenni sy'n defnyddio'r faner O_DIRECT;
  • gwasanaethau cof a system:
    • mae modd amserlennu newydd wedi'i weithredu yn y trefnydd tasgau SCHED_CORE, sy'n eich galluogi i reoli pa brosesau all redeg gyda'i gilydd ar yr un craidd CPU. Gellir neilltuo dynodwr cwci i bob proses sy'n diffinio cwmpas yr ymddiriedaeth rhwng prosesau (er enghraifft, perthyn i'r un defnyddiwr neu gynhwysydd). Wrth drefnu gweithredu cod, gall y trefnydd sicrhau bod un craidd CPU yn cael ei rannu ymhlith prosesau sy'n gysylltiedig â'r un perchennog yn unig, y gellir eu defnyddio i rwystro rhai ymosodiadau Specter trwy atal tasgau dibynadwy ac annibynadwy rhag rhedeg ar yr un edefyn UDRh (Hyper Threading). ;
    • ar gyfer y mecanwaith cgroup, mae cefnogaeth ar gyfer y gweithrediad lladd wedi'i roi ar waith, sy'n eich galluogi i ladd yr holl brosesau sy'n gysylltiedig â'r grŵp ar unwaith (anfon SIGKILL) trwy ysgrifennu “1” i'r ffeil rithwir cgroup.kill;
    • galluoedd estynedig sy'n ymwneud ag ymateb i ganfod cloeon hollt (“cloeon hollti”) sy'n digwydd wrth gyrchu data heb ei alinio yn y cof oherwydd y ffaith bod y data, wrth weithredu cyfarwyddyd atomig, yn croesi dwy linell storfa CPU. Mae blocio o'r fath yn arwain at ostyngiad sylweddol mewn perfformiad, felly yn flaenorol roedd yn bosibl terfynu'r cais a achosodd y blocio yn rymus. Mae'r datganiad newydd yn ychwanegu'r paramedr llinell orchymyn cnewyllyn “split_lock_detect=ratelimit: N”, sy'n eich galluogi i ddiffinio terfyn system gyfan ar gyfradd y gweithrediadau cloi yr eiliad, ar ôl mynd y tu hwnt i'r hyn y bydd unrhyw broses a ddaeth yn ffynhonnell clo hollt. cael eich gorfodi i stopio am 20 ms yn lle terfynu;
    • Mae gan reolwr lled band cgroup CFS (rheolwr lled band CFS), sy'n pennu faint o amser prosesydd y gellir ei ddyrannu i bob cgroup, y gallu i ddiffinio terfynau wedi'u cyfyngu gan gyfnod gweithredu penodol, sy'n caniatáu rheoleiddio llwythi hwyrni-sensitif yn well. Er enghraifft, bydd gosod cpu.cfs_quota_us i 50000 a cpu.cfs_period_us i 100000 yn caniatáu i grŵp o brosesau wastraffu 100ms o amser CPU bob 50ms;
    • wedi adio seilwaith cychwynnol ar gyfer creu llwythwyr rhaglenni BPF, a fydd yn caniatáu ymhellach lawrlwytho rhaglenni BPF yn unig wedi'u llofnodi ag allwedd ddigidol ddibynadwy;
    • ychwanegu gweithrediad futex newydd FUTEX_LOCK_PI2, sy'n defnyddio amserydd monotonig i gyfrifo'r terfyn amser, sy'n cymryd i ystyriaeth yr amser a dreulir gan y system yn y modd cysgu;
    • ar gyfer pensaernïaeth RISC-V, cefnogaeth ar gyfer tudalennau cof mawr (Tudalennau Anferth Tryloyw) a'r gallu i ddefnyddio'r KFENCE i adnabod gwallau wrth weithio gyda'r cof;
    • i mewn i alwad system madvise (), sy'n darparu modd i optimeiddio rheoli cof proses, wedi adio Mae MADV_POPULATE_READ a MADV_POPULATE_WRITE yn fflagio i greu "bai tudalen" ar yr holl dudalennau cof sydd wedi'u mapio ar gyfer gweithrediadau darllen neu ysgrifennu, heb berfformio darlleniad neu ysgrifennu gwirioneddol (rhagosodedig). Gall defnyddio fflagiau fod yn ddefnyddiol ar gyfer lleihau oedi wrth gyflawni'r rhaglen, diolch i weithredu'r triniwr “bai tudalen” yn rhagweithiol ar gyfer yr holl dudalennau heb eu dyrannu ar unwaith, heb aros am y mynediad gwirioneddol iddynt;
    • mewn system profi uned cwt wedi adio cefnogaeth ar gyfer cynnal profion yn amgylchedd QEMU;
    • ychwanegodd olrheinwyr newydd: "osnoise" olrhain oedi cais a achosir gan drin ymyrraeth, ac " timerlat " i ddangos gwybodaeth fanwl am oedi wrth ddeffro o signal amserydd;
  • rhithwiroli a diogelwch:
    • wedi adio galwad system memfd_secret(), sy'n eich galluogi i greu man cof preifat mewn gofod cyfeiriad ynysig, yn weladwy i'r broses perchennog yn unig, heb ei adlewyrchu mewn prosesau eraill ac nad yw'n uniongyrchol hygyrch i'r cnewyllyn;
    • yn y system hidlo galwadau system seccomp, wrth symud trinwyr clo i mewn i ofod defnyddwyr, mae'n bosibl defnyddio un gweithrediad atomig i greu disgrifydd ffeil ar gyfer tasg ynysig a'i ddychwelyd wrth brosesu galwad system. Mae'r gweithrediad arfaethedig yn datrys y broblem amhariad ar y triniwr yn y gofod defnyddiwr pan fydd signal yn cyrraedd;
    • wedi adio mecanwaith newydd i reoli cyfyngu adnoddau yn y gofod enw ID defnyddiwr, sy'n clymu rhifyddion rlimit unigol i ddefnyddiwr yn y "user namespace". Mae'r newid yn datrys y broblem gyda'r defnydd o gownteri adnoddau cyffredin pan fydd un defnyddiwr yn rhedeg prosesau mewn gwahanol gynwysyddion;
    • mae'r hypervisor KVM ar gyfer systemau ARM64 wedi ychwanegu'r gallu i ddefnyddio'r estyniad MTE (MemTag, Memory Taggging Extension) mewn systemau gwesteion, sy'n eich galluogi i glymu tagiau i bob gweithrediad dyrannu cof a threfnu gwirio'r defnydd cywir o awgrymiadau i rwystro'r defnydd o gwendidau a achosir gan gyrchu blociau cof sydd eisoes wedi'u rhyddhau, byfferau gorlif, mynediadau cyn cychwyn a defnyddio y tu allan i'r cyd-destun presennol;
    • Bellach gellir ffurfweddu Dilysiad Pwyntydd a ddarperir gan y platfform ARM64 ar wahân ar gyfer cnewyllyn a gofod defnyddiwr. Mae'r dechnoleg yn caniatáu i chi ddefnyddio cyfarwyddiadau ARM64 arbenigol i wirio cyfeiriadau dychwelyd gan ddefnyddio llofnodion digidol sy'n cael eu storio yn y darnau uchaf o'r pwyntydd ei hun nad ydynt yn cael eu defnyddio;
    • yn Linux modd defnyddiwr wedi adio cefnogaeth ar gyfer defnyddio gyrwyr ar gyfer dyfeisiau PCI gyda bws PCI rhithwir, a weithredir gan y gyrrwr PCI-over-virtio;
    • ar gyfer systemau x86, ychwanegwyd cefnogaeth ar gyfer y ddyfais paravirtualized virtio-iommu, sy'n eich galluogi i anfon ceisiadau IOMMU, megis ATTACH, DETACH, MAP ac UNMAP, dros y cludiant virtio heb efelychu tablau tudalennau cof;
    • Ar gyfer CPUs Intel, o'r teulu Skylake i Coffee Lake, mae'r defnydd o Intel TSX (Transactional Synchronization Extensions), sy'n darparu offer ar gyfer gwella perfformiad cymwysiadau aml-edau trwy ddileu gweithrediadau cydamseru diangen yn ddeinamig, yn anabl yn ddiofyn. Mae estyniadau wedi'u hanalluogi oherwydd y posibilrwydd o ymosodiadau Llwyth Zombie, trin y gollyngiad o wybodaeth trwy sianeli trydydd parti sy'n digwydd yn ystod gweithrediad y mecanwaith ar gyfer ymyrraeth asyncronaidd o weithrediadau (TAA, TSX Asyncronous Abort);
  • is-system rhwydwaith:
    • integreiddio parhaus i graidd MPTCP (MultiPath TCP), estyniad o'r protocol TCP ar gyfer trefnu gweithrediad cysylltiad TCP â danfon pecynnau ar yr un pryd ar hyd sawl llwybr trwy ryngwynebau rhwydwaith gwahanol sy'n gysylltiedig â gwahanol gyfeiriadau IP. Yn y rhifyn newydd wedi adio mecanwaith ar gyfer gosod eich polisïau stwnsio traffig eich hun ar gyfer IPv4 ac IPv6 (polisi hash lluosog), gan ei gwneud hi'n bosibl o'r gofod defnyddiwr i benderfynu pa feysydd mewn pecynnau, gan gynnwys rhai wedi'u hamgáu, a ddefnyddir wrth gyfrifo'r stwnsh sy'n pennu'r dewis o lwybr ar gyfer y pecyn;
    • mae cefnogaeth soced wedi'i ychwanegu at y virtio cludiant rhithwir SOCK_SEQPACKET (trosglwyddo datagramau yn drefnus ac yn ddibynadwy);
    • Mae galluoedd mecanwaith soced SO_REUSEPORT wedi'u hehangu, sy'n caniatáu i sawl soced gwrando gysylltu ag un porthladd ar unwaith i dderbyn cysylltiadau â dosbarthiad ceisiadau sy'n dod i mewn ar yr un pryd ar draws yr holl socedi sy'n gysylltiedig trwy SO_REUSEPORT, sy'n symleiddio'r broses o greu cymwysiadau gweinydd aml-edau . Yn y fersiwn newydd wedi adio modd trosglwyddo rheolaeth i soced arall rhag ofn y bydd methiant wrth brosesu cais gan y soced a ddewiswyd yn wreiddiol (yn datrys y broblem gyda cholli cysylltiadau unigol wrth ailgychwyn gwasanaethau);
  • offer:
    • yn y gyrrwr amdgpu gweithredu cefnogaeth ar gyfer cyfres newydd AMD Radeon RX 6000 o GPUs, gyda'r enw “Beige Goby” (Navi 24) a “Yellow Carp”, yn ogystal â gwell cefnogaeth i Aldebaran GPU (gfx90a) a Van Gogh APU. Ychwanegwyd y gallu i weithio ar yr un pryd gyda sawl panel eDP. Ar gyfer APU Renoir, mae cefnogaeth ar gyfer gweithio gyda byfferau wedi'u hamgryptio mewn cof fideo (TMZ, Trusted Memory Zone) wedi'i roi ar waith. Cefnogaeth ychwanegol ar gyfer cardiau graffeg dad-blygio poeth. Ar gyfer GPUs Radeon RX 6000 (Navi 2x) a GPUs AMD hŷn, mae cefnogaeth ar gyfer mecanwaith arbed pŵer ASPM (Active State Power Management) wedi'i alluogi yn ddiofyn, a alluogwyd yn flaenorol ar gyfer GPUs Navi 1x, Vega a Polaris yn unig;
    • ar gyfer sglodion AMD, mae cefnogaeth ar gyfer cof rhithwir a rennir (SVM, cof rhithwir a rennir) wedi'i ychwanegu yn seiliedig ar yr is-system HMM (Rheoli cof Heterogenaidd), sy'n caniatáu defnyddio dyfeisiau gyda'u hunedau rheoli cof eu hunain (MMU, uned rheoli cof), sy'n gallu cyrchu'r prif gof. Gan gynnwys defnyddio HMM, gallwch drefnu gofod cyfeiriad a rennir rhwng y GPU a'r CPU, lle gall y GPU gael mynediad at brif gof y broses;
    • cymorth technoleg cychwynnol ychwanegol Shift Smart AMD, sy'n newid paramedrau defnydd pŵer y CPU a GPU yn ddeinamig ar liniaduron gyda chipset a cherdyn graffeg AMD i hybu perfformiad wrth hapchwarae, golygu fideo a rendro 3D;
    • yn y gyrrwr i915 ar gyfer cardiau fideo Intel wedi'i gynnwys cefnogaeth ar gyfer sglodion Intel Alderlake P;
    • ychwanegu gyrrwr drm/hyperv ar gyfer yr addasydd graffeg rhithwir Hyper-V;
    • wedi adio Gyrrwr graffeg simpledrm sy'n defnyddio'r byffer ffrâm EFI-GOP neu VESA a ddarperir gan firmware UEFI neu BIOS ar gyfer allbwn. Prif bwrpas y gyrrwr yw darparu galluoedd allbwn graffigol yn ystod camau cychwynnol cychwyn, cyn y gellir defnyddio gyrrwr DRM llawn. Gellir defnyddio'r gyrrwr hefyd fel ateb dros dro ar gyfer offer nad oes ganddo yrwyr DRM brodorol eto;
    • wedi adio cymorth cyfrifiadurol popeth-mewn-un Mafon Pi 400;
    • Ychwanegwyd gyrrwr dell-wmi-preifatrwydd i gefnogi'r switshis caledwedd camera a meicroffon sydd wedi'u cynnwys yn gliniaduron Dell;
    • ar gyfer gliniaduron Lenovo wedi adio Rhyngwyneb WMI ar gyfer newid paramedrau BIOS trwy sysfs / sys / class / firmware-prionations /;
    • ehangu cefnogaeth ar gyfer dyfeisiau gyda rhyngwyneb USB4;
    • wedi adio cefnogaeth ar gyfer cardiau sain a chodecs AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 a Texas Instruments TAS2505. Gwell cefnogaeth sain ar liniaduron HP ac ASUS. Wedi adio clytiau i leihau oedi cyn i sain ddechrau chwarae ar ddyfeisiau gyda rhyngwyneb USB.

Ffynhonnell - opennet.ru.

Ffynhonnell: linux.org.ru