Linux kernel 5.14

Linux kernel 5.14

Pambuyo pa miyezi iwiri ya chitukuko, Linus Torvalds anayambitsa kutulutsidwa kwa kernel Linux 5.14. Zina mwa zosintha zodziwika bwino: mafoni atsopano a quotactl_fd() ndi memfd_secret(), kuchotsedwa kwa ide ndi madalaivala aiwisi, wowongolera watsopano wa I/O wa gulu, SCHED_CORE ndandanda yantchito, zomangamanga zopangira zida zotsimikizika za BPF.

Mtundu watsopanowu umaphatikizapo kukonza kwa 15883 kuchokera kwa opanga 2002, kukula kwa chigamba ndi 69 MB (zosintha zomwe zidakhudza mafayilo 12580, mizere ya 861501 ya code idawonjezeredwa, mizere 321654 idachotsedwa). Pafupifupi 47% ya zosintha zonse zomwe zidayambitsidwa mu 5.14 zimagwirizana ndi madalaivala azipangizo, pafupifupi 14% ya zosintha zimakhudzana ndi kukonzanso kachidindo kamangidwe ka ma hardware, 13% ikugwirizana ndi stack networking, 3% ikugwirizana ndi mafayilo amafayilo, ndi 3% zimagwirizana ndi ma kernel subsystems amkati.

waukulu zatsopano:

  • disk subsystem, zolowetsa/zotulutsa ndi mafayilo amafayilo:
    • za cgroup zakhazikitsidwa Wolamulira watsopano wa I/O - rq-qos, yemwe amatha kuwongolera kufunikira kwa zopempha kuti aletse zida zopangidwa ndi mamembala a gulu lililonse. Thandizo latsopano lowongolera lawonjezedwa ku mq-deadline I/O scheduler;
    • pa ext4 file system zakhazikitsidwa Lamulo latsopano la ioctl EXT4_IOC_CHECKPOINT, lomwe limakakamiza zochitika zonse zomwe zikuyembekezera kuchokera pa chipika ndi ma buffers ogwirizana kupita ku diski, ndikulembanso malo omwe amagwiritsidwa ntchito ndi chipika chosungira. Kusinthaku kunakonzedwa ngati gawo la njira yopewera kutulutsa kwa chidziwitso kuchokera ku machitidwe a mafayilo;
    • mu btrfs anayambitsa Kukhathamiritsa kwa magwiridwe antchito: Pochotsa kudulidwa kosafunikira kwazinthu zowonjezera panthawi ya fsync kuphedwa, magwiridwe antchito amphamvu okhala ndi mawonekedwe owonjezera adakwera mpaka 17%. Kuphatikiza apo, pochita ntchito zochepetsera zomwe sizingakhudze kuchuluka, kulunzanitsa kwathunthu kumayimitsidwa, zomwe zidachepetsa nthawi yogwira ntchito ndi 12%. Zosintha zawonjezeredwa ku sysfs kuti muchepetse bandwidth ya I/O mukamayang'ana FS. Ma foni owonjezera a ioctl kuti aletse kusintha kukula ndi kufufuta magwiridwe antchito a chipangizo;
    • mu XFS kukonzanso kukhazikitsidwa kwa buffer cache, yomwe imasamutsidwa ndikugawa masamba amakumbukidwe mu batch mode. Kuchita bwino kwa cache;
    • F2FS idawonjezera mwayi woti mugwiritse ntchito powerenga-pokha ndikukhazikitsa njira yolumikizira block block (compress_cache) kuti muwongolere kuwerenga mwachisawawa. Thandizo lakhazikitsidwa pakukanikiza mafayilo ojambulidwa kukumbukira pogwiritsa ntchito ntchito ya mmap(). Kuti mulepheretse kukakamiza kwa fayilo ndi chigoba, njira yatsopano yopangira nocompress yaperekedwa;
    • ntchito yachitidwa mu dalaivala wa exFAT kuti apititse patsogolo kugwirizana ndi kusungirako makamera ena a digito;
    • adawonjezera kuyimba kwadongosolo quotactl_fd(), zomwe zimakulolani kuti muzitha kuyang'anira ma quotas osati kudzera pa fayilo yapadera ya chipangizo, koma mwa kufotokozera fayilo yokhudzana ndi fayilo yomwe ikugwiritsidwa ntchito;
    • Madalaivala akale a zida zotchinga ndi mawonekedwe a IDE achotsedwa pa kernel; adasinthidwa kwanthawi yayitali ndi libata subsystem. Thandizo la zida zakale zasungidwa mokwanira, zosinthazo zimangotha ​​kugwiritsa ntchito madalaivala akale, pogwiritsa ntchito zomwe ma drive adatchedwa /dev/hd*, osati /dev/sd*;
    • Dalaivala "yaiwisi" yachotsedwa pa kernel, ndikupereka mwayi wosatsekeka kuti atseke zida kudzera pa /dev/raw mawonekedwe. Izi zakhala zikugwiritsidwa ntchito pogwiritsira ntchito mbendera ya O_DIRECT;
  • Memory ndi System Services:
    • njira yatsopano yokonzera yakhazikitsidwa mumndandanda wantchito SCHED_CORE, zomwe zimakupatsani mwayi wowongolera njira zomwe zingayendetse pamodzi pakatikati pa CPU. Njira iliyonse imatha kupatsidwa chozindikiritsa cookie chomwe chimatanthawuza kuchuluka kwa kukhulupirirana pakati pa njira (mwachitsanzo, za wogwiritsa ntchito yemweyo kapena chidebe). Pokonzekera kukhazikitsidwa kwa ma code, wokonza ndondomekoyo akhoza kuonetsetsa kuti CPU imodzi imagawidwa pakati pa njira zomwe zimagwirizanitsidwa ndi mwiniwake yemweyo, zomwe zingagwiritsidwe ntchito kuletsa ziwopsezo zina za Specter poletsa ntchito zodalirika komanso zosadalirika kuyenda pa ulusi womwewo wa SMT (Hyper Threading). ;
    • kwa makina amagulu, chithandizo chakupha chakhazikitsidwa, chomwe chimakulolani kupha njira zonse zomwe zimagwirizanitsidwa ndi gulu nthawi imodzi (tumizani SIGKILL) polemba "1" ku fayilo yeniyeni ya cgroup.kill;
    • mphamvu zowonjezera zokhudzana ndi kuyankha pakuzindikirika kwa maloko ogawanika ("split locks") zomwe zimachitika mukapeza deta yosasinthika m'makumbukidwe chifukwa chakuti pochita malangizo a atomiki, deta imadutsa mizere iwiri ya cache ya CPU. Kutsekereza kotereku kumabweretsa kutsika kwakukulu kwa magwiridwe antchito, kotero m'mbuyomu zinali zotheka kuletsa mwamphamvu ntchito yomwe idayambitsa kutsekereza. Kutulutsidwa kwatsopano kumawonjezera kernel command line parameter "split_lock_detect=ratelimit:N", yomwe imakupatsani mwayi wofotokozera malire amtundu uliwonse pamlingo wa kutseka kwa sekondi iliyonse, mutatha kupitilira njira iliyonse yomwe idakhala gwero la loko logawanika. kukakamizidwa kuima kwa 20 ms m'malo mothetsa;
    • The cgroup bandwidth controller CFS (CFS bandwidth controller), yomwe imatsimikizira kuchuluka kwa nthawi ya purosesa yomwe ingaperekedwe ku gulu lirilonse, ili ndi mphamvu yofotokozera malire ndi nthawi yomwe akugwira ntchito, yomwe imalola kuwongolera bwino katundu wa latency-sensitive. Mwachitsanzo, kukhazikitsa cpu.cfs_quota_us ku 50000 ndi cpu.cfs_period_us ku 100000 kudzalola gulu la machitidwe kuwononga 100ms ya CPU nthawi 50ms iliyonse;
    • anawonjezera zida zoyambira zopangira zojambulira pulogalamu ya BPF, zomwe zitha kuloleza kutsitsa kwa mapulogalamu a BPF okha omwe asainidwa ndi kiyi yodalirika ya digito;
    • anawonjezera ntchito yatsopano ya futex FUTEX_LOCK_PI2, yomwe imagwiritsa ntchito timer ya monotonic kuti iwerengetse nthawi yopuma, yomwe imaganizira nthawi yomwe dongosololi likugona;
    • Zomangamanga za RISC-V, kuthandizira masamba akulu okumbukira (Transparent Huge-Masamba) komanso kuthekera kogwiritsa ntchito KFENCE kuzindikira zolakwika pogwira ntchito ndi kukumbukira;
    • kulowa madvise() system call, yomwe imapereka njira yopititsira patsogolo kasamalidwe ka kukumbukira, anawonjezera MADV_POPULATE_READ ndi MADV_POPULATE_WRITE mbendera kuti apange "tsamba zolakwika" pamasamba onse okumbukira omwe amapangidwa kuti aziwerenga kapena kulemba, osawerenga kapena kulemba kwenikweni (zoyambirira). Kugwiritsiridwa ntchito kwa mbendera kungakhale kothandiza kuchepetsa kuchedwetsa kuchitidwa kwa pulogalamuyo, chifukwa cha kuchitidwa mwachidwi kwa "tsamba zolakwika" wothandizira pamasamba onse osagawidwa nthawi imodzi, popanda kuyembekezera mwayi weniweni kwa iwo;
    • mu dongosolo la kuyesa mayunitsi kuni anawonjezera kuthandizira pakuyesa mayeso m'malo a QEMU;
    • new tracers anawonjezera kuti: "phokoso" kutsata kuchedwa kwa ntchito komwe kumachitika chifukwa cha kagwiridwe kosokoneza, ndi " timerlat " kuwonetsa zambiri za kuchedwa pamene mukudzuka kuchokera ku siginecha ya nthawi;
  • virtualization ndi chitetezo:
    • anawonjezera kuyitana kwadongosolo memfd_secret(), yomwe imakulolani kuti mupange malo okumbukira payekha pa malo a adiresi akutali, omwe amawonekera kokha kwa eni ake, osawonetsedwa muzochita zina komanso osapezeka mwachindunji ku kernel;
    • mu seccomp system call filtering system, posuntha zosungira zotsekera kumalo ogwiritsira ntchito, ndizotheka kugwiritsa ntchito ntchito imodzi ya atomiki kuti mupange chofotokozera cha fayilo cha ntchito yokhayokha ndikuyibwezeretsanso pokonza kuyitana kwadongosolo. Ntchito yomwe ikufunsidwa imathetsa vuto ndi kusokonezedwa kwa chogwirizira pamalo ogwiritsira ntchito chizindikiro chikafika;
    • anawonjezera makina atsopano kuyang'anira malire azinthu mu ID ya ogwiritsa ntchito, zomwe zimamangiriza ma rlimit counters kwa wogwiritsa mu "user namespace". Kusinthaku kumathetsa vutoli pogwiritsa ntchito zida zomwe zimagwiritsidwa ntchito ngati wogwiritsa ntchito m'modzi mwazinthu zosiyanasiyana;
    • KVM hypervisor ya machitidwe a ARM64 yawonjezera kuthekera kogwiritsa ntchito kukulitsa kwa MTE (MemTag, Memory Tagging Extension) m'makina a alendo, omwe amakulolani kumangirira ma tag ku ntchito iliyonse yogawa kukumbukira ndikukonzekera kuyang'ana kugwiritsa ntchito koyenera kwa zolozera kuti muletse kugwiritsa ntchito. ziwopsezo zobwera chifukwa chofikira zomakumbukira zomasulidwa kale, zosungira zosefukira, zofikira zisanayambike ndikugwiritsa ntchito kunja kwa zomwe zikuchitika;
    • Kutsimikizika kwa Pointer komwe kumaperekedwa ndi nsanja ya ARM64 tsopano kumatha kukhazikitsidwa padera pa kernel ndi malo ogwiritsa ntchito. Ukadaulo umakupatsani mwayi wogwiritsa ntchito malangizo apadera a ARM64 kuti mutsimikizire maadiresi obwerera pogwiritsa ntchito siginecha ya digito yomwe imasungidwa m'malo osagwiritsidwa ntchito kumtunda kwa cholozera chokha;
    • mu User-mode Linux anawonjezera kuthandizira pakugwiritsa ntchito madalaivala a zida za PCI zokhala ndi basi ya PCI, yoyendetsedwa ndi woyendetsa PCI-over-virtio;
    • kwa machitidwe a x86, chithandizo chowonjezera cha chipangizo cha virtio-iommu paravirtualized, chomwe chimakulolani kutumiza zopempha za IOMMU, monga ATTACH, DETACH, MAP ndi UNMAP, pamayendedwe a virtio popanda kutsanzira matebulo amasamba;
    • Kwa ma Intel CPUs, kuchokera ku banja la Skylake kupita ku Coffee Lake, kugwiritsa ntchito Intel TSX (Transactional Synchronization Extensions), yomwe imapereka zida zosinthira magwiridwe antchito amitundu yambiri pochotsa mwamphamvu machitidwe olumikizana osafunikira, amayimitsidwa mwachisawawa. Zowonjezera zimayimitsidwa chifukwa cha kuthekera kwa kuwukira Zombieload, kuwongolera kutayikira kwa chidziwitso kudzera mumayendedwe a chipani chachitatu omwe amachitika panthawi yogwiritsa ntchito njira yosokoneza magwiridwe antchito (TAA, TSX Asynchronous Abort);
  • network subsystem:
    • kupitiliza kuphatikizika pakati pa MPTCP (MultiPath TCP), kukulitsa kwa protocol ya TCP yokonzekera kugwiritsa ntchito kulumikizana kwa TCP ndi kutumiza mapaketi nthawi imodzi m'njira zingapo kudzera pamaneti osiyanasiyana olumikizidwa ndi ma adilesi osiyanasiyana a IP. M'magazini yatsopano anawonjezera njira yokhazikitsira mfundo zanu zamtundu wa traffic hashing IPv4 ndi IPv6 (multipath hashi policy), zomwe zimapangitsa kuti zikhale zotheka kuchokera kumalo ogwiritsira ntchito kuti mudziwe madera omwe ali m'mapaketi, kuphatikizapo otsekedwa, omwe adzagwiritsidwe ntchito powerengera hashi yomwe imatsimikizira kusankha njira. kwa paketi;
    • chithandizo cha socket chawonjezedwa ku virtual transport virtio SOCK_SEQPACKET (kutumiza mwadongosolo komanso kodalirika kwa datagrams);
    • Kuthekera kwa SO_REUSEPORT socket mechanism yawonjezedwa, zomwe zimapangitsa kuti zomvera zingapo zigwirizane ndi doko limodzi nthawi imodzi kuti zilandire maulumikizidwe ndi kugawidwa kwa zopempha zomwe zikubwera panthawi imodzi pazitsulo zonse zolumikizidwa kudzera pa SO_REUSEPORT, zomwe zimathandizira kupanga mapulogalamu a seva amitundu yambiri. . Mu Baibulo latsopano anawonjezera kutanthauza kusamutsira kuwongolera ku socket ina ngati kulephera pakukonza zopempha ndi socket yomwe idasankhidwa poyamba (amathetsa vuto ndi kutayika kwa maulumikizidwe amunthu pakuyambiranso ntchito);
  • zida:
    • mu driver wa amdgpu zakhazikitsidwa kuthandizira kwa ma GPU atsopano a AMD Radeon RX 6000, otchedwa "Beige Goby" (Navi 24) ndi "Yellow Carp", komanso kuthandizira kwa Aldebaran GPU (gfx90a) ndi Van Gogh APU. Adawonjezera kuthekera kogwira ntchito nthawi imodzi ndi mapanelo angapo a eDP. Kwa APU Renoir, chithandizo chogwira ntchito ndi ma buffers osungidwa muvidiyo (TMZ, Trusted Memory Zone) yakhazikitsidwa. Thandizo lowonjezera la makadi azithunzi a hot-unplug. Kwa Radeon RX 6000 (Navi 2x) GPUs ndi ma GPU akale a AMD, kuthandizira kwa ASPM (Active State Power Management) njira yopulumutsira mphamvu imayatsidwa mwachisawawa, yomwe poyamba inkangothandizidwa ndi Navi 1x, Vega ndi Polaris GPUs;
    • kwa tchipisi ta AMD, kuthandizira kukumbukira kukumbukira (SVM, kukumbukira komwe kugawana) kwawonjezeredwa kutengera HMM (Heterogeneous memory management) subsystem, yomwe imalola kugwiritsa ntchito zida zomwe zili ndi mayunitsi awo owongolera kukumbukira (MMU, gawo loyang'anira kukumbukira), zomwe zimatha kulowa mu kukumbukira kwakukulu. Kuphatikizapo kugwiritsa ntchito HMM, mukhoza kukonza malo omwe ali nawo adiresi pakati pa GPU ndi CPU, momwe GPU ingathe kupeza kukumbukira kwakukulu kwa ndondomekoyi;
    • adawonjezera chithandizo choyambirira chaukadaulo AMD Smart Shift, yomwe imasintha mphamvu zamagetsi za CPU ndi GPU pamalaputopu okhala ndi chipset ndi khadi yazithunzi ya AMD kuti ipititse patsogolo magwiridwe antchito posewera, kusintha makanema ndi 3D kumasulira;
    • mu dalaivala wa i915 wa makadi avidiyo a Intel kuphatikiza thandizo la tchipisi ta Intel Alderlake P;
    • adawonjezera drm/hyperv driver wa Hyper-V virtual graphic adapter;
    • anawonjezera simpledrm graphics driver yemwe amagwiritsa ntchito EFI-GOP kapena VESA framebuffer yoperekedwa ndi UEFI firmware kapena BIOS kuti atulutse. Cholinga chachikulu cha dalaivala ndikupereka mphamvu zowonetsera pazigawo zoyamba za boot, dalaivala wa DRM asanayambe kugwiritsidwa ntchito. Dalaivala angagwiritsidwenso ntchito ngati yankho kwakanthawi kwa zida zomwe zilibe madalaivala a DRM;
    • anawonjezera chithandizo cha makompyuta onse mu chimodzi Rasipiberi Pihahiroti 400;
    • Adawonjezera dalaivala wachinsinsi wa dell-wmi kuti athandizire makina osinthira a kamera ndi maikolofoni omwe akuphatikizidwa mu laputopu ya Dell;
    • kwa Lenovo laputopu anawonjezera mawonekedwe a WMI posintha magawo a BIOS kudzera pa sysfs /sys/class/firmware-attributes/;
    • chokulitsidwa kuthandizira pazida zokhala ndi mawonekedwe a USB4;
    • anawonjezera kuthandizira makhadi amawu ndi ma codec AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 ndi Texas Instruments TAS2505. Kuthandizira kwamawu pakompyuta ya HP ndi ASUS. Zowonjezedwa zigamba zochepetsera kuchedwa nyimbo isanayambe kusewera pazida zokhala ndi mawonekedwe a USB.

Gwero - opennet.ru.

Source: linux.org.ru