Linux 5.14 kernel kuburitswa

Mushure memwedzi miviri yebudiriro, Linus Torvalds akapa kuburitswa kweLinux kernel 5.14. Pakati peshanduko dzinonyanya kukosha: nyowani quotactl_fd () uye memfd_secret () system mafoni, kubviswa kweide uye madhiraivha akaomeswa, mutsva weI/O anotungamira mutongi weboka, SCHED_CORE basa rekuronga maitiro, zvivakwa zvekugadzira zvakasimbiswa BPF chirongwa chinorodha.

Iyo itsva vhezheni inosanganisira 15883 inogadzirisa kubva kune 2002 vanogadzira, iyo chigamba saizi i69 MB (shanduko dzakakanganisa mafaera gumi nemaviri, 12580, 861501 mitsetse yekodhi yakawedzerwa, 321654 mitsetse yakabviswa). Inenge 47% yeshanduko dzese dzakaunzwa mu5.14 dzine hukama nevatyairi vemidziyo, ingangoita 14% yeshanduko ine chekuita nekuvandudza kodhi yakanangana nehardware architecture, 13% ine chekuita netiweki stack, 3% ine hukama nemafaira masisitimu, uye 3% zvine hukama nemukati kernel subsystems.

Zvitsva zvikuru:

  • Disk Subsystem, I/O uye File Systems
    • Iyo itsva I / O yekuisa pamberi pekutonga yakaisirwa macgroups, rq-qos, iyo inogona kudzora kugadziridzwa kwekutanga kwezvikumbiro zvekuvharira zvishandiso zvinogadzirwa nenhengo dzeboka rega rega. Rutsigiro rutsva rwekutanga mutungamiriri rwakawedzerwa kune mq-yekupedzisira I/O scheduler.
    • Iyo ext4 faira sisitimu inoshandisa nyowani ioctl command, EXT4_IOC_CHECKPOINT, iyo inomanikidza zvese zvakamirira transaction kubva mujenari uye mabhafa azvo anosanganisirwa kuti aendeswe kudhisiki, uye zvakare inodarika nzvimbo inoshandiswa nejenari mukuchengetedza. Shanduko iyi yakagadziridzwa sechikamu chedanho rekudzivirira kubuda kweruzivo kubva kumafaera masisitimu.
    • Performance optimizations yakaitwa kuBtrfs: nekubvisa kudhirowa kusingakoshi kweakawedzera hunhu panguva yefsync kuuraya, kuita kwekuita kwakasimba mashandiro ane akawedzera hunhu kwakawedzera kusvika 17%. Pamusoro pezvo, kana uchiita mabasa ekucheka asingakanganise zviyero, kuwiriranisa kwakazara kunovharwa, izvo zvakaderedza nguva yekuvhiya ne12%. Chimiro chakawedzerwa kune sysfs kudzikamisa I/O bandwidth kana uchitarisa iyo FS. Yakawedzera ioctl mafoni ekukanzura kusaizi uye kudzima mashandiro emudziyo.
    • MuXFS, kuitwa kweiyo buffer cache yakagadziridzwa, iyo yakachinjirwa kugovera mapeji endangariro mubatch mode. Kuvandudza cache kushanda zvakanaka.
    • F2FS inowedzera sarudzo yekushanda mukuverenga-chete modhi uye inoshandisa yakadzvanywa block cache modhi (compress_cache) kuti uvandudze kuita kwekuverenga. Tsigiro yakaitwa yekumanikidza mafaera akamisikidzwa kundangariro uchishandisa mmap () mashandiro. Kuti usarudze kudzima kudzvanywa kwefaira zvichibva pane mask, imwe nyowani yekukwira sarudzo nocompress yakatsanangurwa.
    • Basa rakaitwa mumutyairi weexFAT kuvandudza kuenderana neimwe dhijitari kamera yekuchengetedza.
    • Yakawedzera iyo quotactl_fd () system call, iyo inokutendera kuti utore quotas kwete kuburikidza neakakosha mudziyo faira, asi nekutsanangura faira rinotsanangura rine chekuita nefaira system iyo quota inoshandiswa.
    • Madhiraivha ekare emidziyo yeblock ine IDE interface akabviswa kubva kukernel; ivo vagara vatsiviwa neiyo libata subsystem.
    • Mutyairi "mbishi" akabviswa mukernel, achipa mukana usina kuvharwa wekuvhara zvishandiso kuburikidza ne /dev/raw interface. Kuita uku kwagara kuchiitwa mumashandisirwo uchishandisa O_DIRECT mureza.
  • Memory uye system masevhisi
    • Iyo inoronga basa inoshandisa nyowani yekuronga modhi, SCHED_CORE, iyo inokutendera iwe kudzora kuti ndeapi maitiro anogona kuitwa pamwechete pane imwecheteyo CPU musimboti. Maitiro ega ega anogona kupihwa cookie identifier inotsanangura chiyero chekuvimba pakati pemaitiro (semuenzaniso, wemushandisi mumwechete kana mudziyo). Pakuronga kuuraya kodhi, mugadziri anogona kuona kuti imwe CPU musimboti inogovaniswa chete pakati pemaitiro ane hukama nemuridzi mumwechete, anogona kushandiswa kuvhara kumwe kurwiswa kweSpecter nekudzivirira mabasa akavimbika uye asingavimbike kubva pakumhanya pane imwechete SMT (Hyper Threading) tambo. .
    • Kune cgroup, tsigiro yekuvhiya kwekuuraya yaitwa, izvo zvinokutendera kuti uuraye maitiro ese ane chekuita neboka kamwechete (tumira SIGKILL) nekunyora "1" kune chaiyo faira cgroup.kill.
    • Kuwedzera masimba ane chekuita nekupindura kuoneswa kweakatsemura makiyi ("kutsemuka makiyi") anoitika kana uchiwana isina kurongeka data mundangariro nekuda kwekuti kana uchiita rairo yeatomu, iyo data inoyambuka miviri yeCPU cache mitsetse. Kuvharira kwakadaro kunotungamira mukudonha kwakakosha mukuita, saka kare zvaigoneka kumisa nechisimba application yakakonzera kuvharika. Kuburitswa kutsva kunowedzera kernel command line parameter "split_lock_detect=ratelimit:N", iyo inokutendera kuti utsanangure muganho wesystem-wide pachiyero chekukiya mashandiro pasekondi, mushure mekupfuura chero maitiro ayo ave sosi yekukiya kukiya. achamanikidzwa kumira kwe20 ms pane kugumisa.
    • Iyo cgroup bandwidth controller CFS (CFS bandwidth controller), iyo inosarudza kuti ingani processor nguva inogona kugoverwa kune rimwe nerimwe boka, inoshandisa kugona kutsanangura nguva-inogumira miganhu, iyo inobvumira kudzorwa kuri nani kwe latency-sensitive workloads. Semuyenzaniso, kuseta cpu.cfs_quota_us to 50000 uye cpu.cfs_period_us to 100000 zvinobvumira boka remaitiro kutambisa 100ms yeCPU nguva 50ms yega yega.
    • Yakawedzerwa yekutanga zvivakwa zvekugadzira BPF chirongwa chinorodha, icho chinozoenderera mberi kubvumira kurodha kweBPF chete zvirongwa zvakasainwa nekiyi yakavimbika yedhijitari.
    • Yakawedzera chirongwa chitsva chefutex FUTEX_LOCK_PI2, chinoshandisa monotonic timer kuverenga nguva yekupera inofunga nezvenguva inopedzwa nehurongwa mukurara.
    • Kune iyo RISC-V yekuvaka, tsigiro yemapeji makuru endangariro (Transparent Huge-Mapeji) uye kugona kushandisa iyo KFENCE michina yekuona zvikanganiso kana uchishanda nendangariro uchiitwa.
    • Iyo madvise () system call, inopa nzira yekukwirisa ndangariro manejimendi, yakawedzera iyo MADV_POPULATE_READ uye MADV_POPULATE_WRITE mireza kugadzira "peji kukanganisa" pamapeji ese ekurangarira akamepurwa kuverenga kana kunyora mashandiro, pasina kuita kuverenga kana kunyora chaiko. (prefault). Kushandiswa kwemireza kunogona kubatsira mukuderedza kunonoka mukuitwa kwechirongwa, nekuda kwekuita kwekuita kwe "peji kukanganisa" muchengeti wemapeji ese asina kugoverwa kamwechete, pasina kumirira kuwana chaiko kwavari.
    • Iyo kunit unit yekuyedza system yakawedzera rutsigiro rwekumhanyisa bvunzo munzvimbo yeQEMU.
    • Matracer matsva akawedzerwa: "osnoise" yekutevera kunonoka kwekushandisa kunokonzerwa nekukanganisa kubata, uye "timerlat" kuratidza ruzivo rwakadzama nezve kunonoka kana uchimuka kubva kuchiratidzo chenguva.
  • Virtualization uye Chengetedzo
    • Iyo memfd_secret () system yekufona yakawedzerwa kuti igadzire yakavanzika nzvimbo yekurangarira munzvimbo yakasarudzika kero, inoonekwa chete kune yavo maitiro, isingaratidzirwe kune mamwe maitiro, uye isingawanikwe zvakananga kune kernel.
    • Mune seccomp system yekufona kusefa system, kana uchifambisa kuvharira zvibatiso munzvimbo yevashandisi, zvinokwanisika kushandisa imwechete atomu kushanda kugadzira faira rekutsanangudza rebasa rakasarudzika uye ridzorere kana uchigadzirisa kufona system. Kushanda kwakarongwa kunogadzirisa dambudziko rekuvhiringa mubatiri munzvimbo yemushandisi kana chiratidzo chasvika.
    • Yakawedzera nzira nyowani yekugadzirisa zviwanikwa zvemushandisi ID namespace, iyo inosunga ega ega rlimit counters kumushandisi mu "user namespace". Shanduko inogadzirisa dambudziko nekushandiswa kweakajairwa zviwanikwa zviverengero kana mushandisi mumwe achimhanyisa maitiro mumidziyo yakasiyana.
    • Iyo KVM hypervisor yeARM64 masisitimu yakawedzera kugona kushandisa iyo MTE (MemTag, Memory Tagging Extension) yekuwedzera mune yevaenzi masisitimu, ayo anobvumidza iwe kusunga ma tag kune yega yega yekugovera ndangariro mashandiro uye kuronga kutarisa kushandiswa kwakakodzera kweanongedzo kuvharira kushandiswa kusasimba kunokonzerwa nekuwana yakatosunungurwa ndangariro mabhuraki, inofashukira buffer, inosvika isati yatanga uye kushandisa kunze kwemamiriro azvino.
    • Iyo ARM64 papuratifomu's Pointer Authentication zvivakwa zvino inogona kugadzirwa zvakasiyana kune kernel uye mushandisi nzvimbo. Iyo tekinoroji inokutendera kuti ushandise yakasarudzika ARM64 mirairo kuratidza kero dzekudzoka uchishandisa siginecha yedhijitari inochengetwa mumabhiti ekumusoro asina kushandiswa einongedza pachayo.
    • Mushandisi-modhi Linux yakawedzera rutsigiro rwekushandisa madhiraivha ePCI zvishandiso zvine chaiyo PCI bhazi, rinoitwa nePCI-over-virtio mutyairi.
    • Kune x86 masisitimu, yakawedzera tsigiro yevirtio-iommu paravirtualized mudziyo, ichibvumira IOMMU zvikumbiro zvakaita seATTACH, DETACH, MAP uye UNMAP kuti dzitumirwe pamusoro pechifambiso chevirtio pasina kutevedzera ndangariro peji matafura.
    • Kune Intel CPUs, kubva kumhuri yeSkylake kuenda kuKofi Lake, kushandiswa kweIntel TSX (Transactional Synchronization Extensions), iyo inopa maturusi ekuvandudza mashandiro ezvishandiso zvine tambo dzakawanda nekubvisa zvine simba mashandiro ekubatanidza asina basa, akaremara nekukasira. Mawedzero akaremara nekuda kwekugona kweZombieload kurwiswa iyo inoshandura kubuda kweruzivo kuburikidza neyechitatu-bato nzira inoitika panguva yekushanda kweTAA (TSX Asynchronous Abort).
  • Network subsystem
    • Kubatanidzwa mukati memusimboti weMPTCP (MultiPath TCP), kuwedzera kweTCP protocol yekuronga kushanda kweTCP yekubatanidza nekuendeswa kwemapaketi panguva imwe chete munzira dzinoverengeka kuburikidza netiweki interfaces dzakasiyana dzine chekuita neakasiyana IP kero. Kuburitswa kutsva kunowedzera nzira yekuseta yako wega traffic hashing marongero eIPv4 uye IPv6 (multipath hash policy), zvichiita kuti zvikwanise kuona kubva munzvimbo yemushandisi kuti ndeapi minda mumapakiti, kusanganisira akavharirwa, achashandiswa pakuverenga hashi inosarudza sarudzo yenzira yepakiti .
    • Tsigiro yeSOCK_SEQPACKET sockets (yakarairwa uye yakavimbika kufambisa kwemadatagrams) yakawedzerwa kune iyo virtio chaiyo yekufambisa.
    • Kugona kweSO_REUSEPORT socket mechanism kwakawedzerwa, izvo zvinobvumira zvigadziko zvakati zvekuteerera kuti zvibatanidze kune imwe chiteshi kamwechete kuti ugamuchire hukama nekugoverwa kwezvikumbiro zvinouya panguva imwe chete pazvigadziko zvose zvakabatanidzwa kuburikidza neSO_REUSEPORT, iyo inorerutsa kusikwa kwema-multi-threaded server applications. . Iyo vhezheni itsva inowedzera maturusi ekuendesa kutonga kune imwe soketi kana ikatadza kugadzirisa chikumbiro nesoketi yakasarudzwa (inogadzirisa dambudziko nekurasikirwa kwekubatana kwemunhu paunotangazve masevhisi).
  • Zvigadzirwa
    • Mutyairi weamdgpu anopa rutsigiro rweiyo AMD Radeon RX 6000 yakatevedzana yeGPUs, codenamed "Beige Goby" (Navi 24) uye "Yellow Carp", pamwe nerutsigiro rwakavandudzwa rweAldebaran GPU (gfx90a) uye Van Gogh APU. Yakawedzera kugona kushanda panguva imwe chete neanoverengeka eDP mapaneru. Kune APU Renoir, tsigiro yekushanda nemabhafa akavharidzirwa mundangariro yevhidhiyo (TMZ, Trusted Memory Zone) yaitwa. Yakawedzera tsigiro yemakadhi ekupisa-unplug emifananidzo. YeRadeon RX 6000 (Navi 2x) maGPU uye akura AMD GPU, ASPM (Active State Power Management) rutsigiro runogoneswa nekusarudzika, iyo yaimbogoneswa chete Navi 1x, Vega uye Polaris GPUs.
    • Kune AMD machipisi, rutsigiro rweyakagovaniswa ndangariro (SVM, yakagovaniswa virtual memory) yakawedzerwa zvichibva pane HMM (Heterogeneous memory management) subsystem, iyo inobvumira kushandiswa kwemidziyo ine yavo yekurangarira manejimendi unit (MMU, memory management unit), iyo inogona kuwana main memory. Kunyanya, uchishandisa HMM, unogona kuronga nzvimbo yekero yakagovaniswa pakati peGPU neCPU, umo iyo GPU inogona kuwana iyo huru yekurangarira maitiro.
    • Yakawedzera tsigiro yekutanga ye AMD Smart Shift tekinoroji, iyo inoshandura zvine simba CPU neGPU masimba emagetsi pamalaptops ane AMD chipset uye giraidhi kadhi kusimudzira kuita kwemitambo, kugadzirisa vhidhiyo, uye 3D kupa.
    • Iyo i915 mutyairi weIntel mifananidzo yemakadhi inosanganisira tsigiro yeIntel Alderlake P chips.
    • Yakawedzera drm/hyperv mutyairi weHyper-V chaiyo giraidhi adapta.
    • Yakawedzera rutsigiro rweRaspberry Pi 400 yese-mu-imwe komputa.
    • Yakawedzera dell-wmi-yakavanzika mutyairi kutsigira hardware kamera uye maikorofoni switch inosanganisirwa mumalaptops eDell.
    • Kune Lenovo laptops, WMI interface yakawedzerwa yekushandura BIOS marongero kuburikidza nesysfs /sys/class/firmware-attributes/.
    • Yakawedzera rutsigiro rwemidziyo ine USB4 interface.
    • Yakawedzera tsigiro yeAmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 uye Texas Instruments TAS2505 makadhi ekunzwika uye macodecs. Yakavandudzwa tsigiro yekuteerera paHP uye ASUS malaptop. Akawedzera zvigamba kuderedza kunonoka odhiyo isati yatanga kutamba paUSB midziyo.

Source: opennet.ru

Voeg