Kutulutsidwa kwa kernel ya Linux 5.8

Pambuyo pa miyezi iwiri ya chitukuko, Linus Torvalds anayambitsa kutulutsidwa kwa kernel Linux 5.8. Zina mwa zosintha zodziwika bwino: chojambulira chamtundu wa KCSAN, njira yapadziko lonse lapansi yoperekera zidziwitso kumalo ogwiritsira ntchito, kuthandizira pazidziwitso zapaintaneti, njira zotetezedwa za ARM64, kuthandizira purosesa ya Baikal-T1 yaku Russia, kuthekera koyika ma procfs padera. , kukhazikitsa njira zachitetezo cha Shadow pa ARM64 Call Stack ndi BTI.

Kernel 5.8 idakhala yayikulu kwambiri potengera kuchuluka kwa masinthidwe a maso onse panthawi yonse ya ntchitoyi. Kuphatikiza apo, kusinthaku sikukhudzana ndi kachitidwe kakang'ono, koma kumakhudza magawo osiyanasiyana a kernel ndipo makamaka kumalumikizidwa ndi kukonzanso kwamkati ndi kuyeretsa. Zosintha zazikuluzikulu zimawoneka pamadalaivala. Mtundu watsopanowu udaphatikizanso zosintha za 17606 kuchokera kwa opanga 2081, zomwe zidakhudza pafupifupi 20% ya mafayilo onse omwe ali mu kernel code repository. Kukula kwa chigamba ndi 65 MB (zosintha zomwe zidakhudza mafayilo a 16180, mizere ya 1043240 ya code idawonjezeredwa, mizere 489854 idachotsedwa). Poyerekeza, nthambi ya 5.7 inali ndi zokonza 15033 ndi kukula kwa 39 MB. Pafupifupi 37% ya zosintha zonse zomwe zidayambitsidwa mu 5.8 zimagwirizana ndi madalaivala a zida, pafupifupi 16% ya zosintha zimakhudzana ndikusintha kachidindo kamangidwe ka ma hardware, 11% ikugwirizana ndi stack network, 3% ikugwirizana ndi mafayilo amafayilo, ndi 4% zimagwirizana ndi ma kernel subsystems amkati.

waukulu zatsopano:

  • Virtualization ndi Chitetezo
    • Kutsitsa kwa ma module a kernel omwe ali ndi magawo omwe ali ndi code momwe ma bits omwe amalola kuphedwa ndi kulemba amayikidwa nthawi imodzi amaperekedwa. Kusinthaku kudakhazikitsidwa ngati gawo la pulojekiti yayikulu yochotsa kernel yogwiritsa ntchito masamba okumbukira omwe amalola kuphedwa ndi kulemba munthawi yomweyo.
    • Tsopano ndizotheka kupanga ma procfs osiyana, kulola kugwiritsa ntchito malo okwera ma procfs angapo, oyikidwa ndi zosankha zosiyanasiyana, koma kuwonetsa malo ozindikiritsa omwewo (pid namespace). M'mbuyomu, ma procfs onse okwera amangowonetsa chiwonetsero chimodzi chamkati, ndipo kusintha kulikonse kwa magawo okwera kumakhudzanso malo ena onse olumikizidwa ndi malo omwewo a ID. Zina mwa madera omwe kukwera ndi zosankha zosiyanasiyana kungakhale kofunikira ndikukhazikitsa kudzipatula kwapang'onopang'ono kwa machitidwe ophatikizidwa omwe amatha kubisala mitundu ina ya njira ndi mfundo za chidziwitso mu procfs.
    • Thandizo la makinawa lakhazikitsidwa pa nsanja ya ARM64
      Shadow-Call Stack, yoperekedwa ndi Clang compiler kuti atetezere ku kulembanso adilesi yobwereza ya ntchito ngati stack buffer kusefukira. Chofunikira cha chitetezo ndikusunga adilesi yobwerera mumtundu wina wa "mthunzi" mutatha kusamutsa kuwongolera ku ntchito ndikubwezeretsanso adilesiyi musanatuluke.

    • Thandizo la malangizo awonjezedwa pa nsanja ya ARM64 ARMv8.5-BTI (Branch Target Indicator) kuteteza kutsatiridwa kwa malangizo omwe sayenera kulumikizidwa. Kuletsa kusintha kwa magawo osagwirizana ndi ma code kumakhazikitsidwa kuti aletse kupangidwa kwa zida zamagetsi zomwe zimagwiritsa ntchito njira zobwereranso (ROP - Return-Oriented Programming; wowukirayo samayesa kuyika code yake kukumbukira, koma amagwira ntchito pazidutswa zomwe zilipo kale. ya malangizo amakina omwe amatha ndi malangizo owongolera obwerera, pomwe maitanidwe angapo amapangidwa kuti apeze zomwe mukufuna).
    • Thandizo la Hardware lowonjezera pakubisa kwa inline kwa zida za block (Inline Encryption). Zipangizo za Inlinep encryption nthawi zambiri zimamangidwa pagalimoto, koma zimakhala bwino pakati pa memory memory ndi disk, kubisa momveka bwino ndikuchotsa I / O kutengera makiyi odziwika ndi kernel ndi algorithm ya encryption.
    • Onjezani njira ya "initrdmem" kernel command line kuti ikuloleni kufotokoza adilesi yakukumbukira ya initrd mukamayika chithunzi choyambirira mu RAM.
    • Kuthekera kwatsopano: CAP_PERFMON kuti mupeze kachitidwe kakang'ono ka perf ndikuyang'anira magwiridwe antchito. CAP_BPF, zomwe zimalola machitidwe ena a BPF (monga kukweza mapulogalamu a BPF) omwe poyamba ankafuna maufulu a CAP_SYS_ADMIN (maufulu a CAP_SYS_ADMIN tsopano agawidwa kukhala ophatikiza CAP_BPF, CAP_PERFMON, ndi CAP_NET_ADMIN).
    • Yowonjezedwa ndi chipangizo chatsopano cha virtio-mem chomwe chimakulolani kuti muzitha kukumbukira kutentha ndi kutentha-plug mu machitidwe a alendo.
    • Kukumbukiridwa kwa ntchito zamapu mu /dev/mem ngati woyendetsa chipangizocho amagwiritsa ntchito malo okumbukira.
    • Chitetezo chowonjezera pachiwopsezo CROSSTalk/SRBDS, zomwe zimakulolani kuti mubwezeretse zotsatira za malangizo ena omwe amachitidwa pamtundu wina wa CPU.
  • Memory ndi ntchito zadongosolo
    • Mu chikalata chofotokozera malamulo opangira ma code, kuvomereza malingaliro ogwiritsira ntchito mawu ophatikiza. Madivelopa sakulimbikitsidwa kugwiritsa ntchito kuphatikiza 'master / kapolo' ndi 'blacklist / whitelist', komanso liwu loti 'kapolo' padera. Malingalirowa amangokhudza kugwiritsidwa ntchito kwatsopano kwa mawuwa. Kutchulidwa kwa mawu omwe atchulidwa kale omwe alipo kale pachimake sikudzakhudzidwa. Mu code yatsopano, kugwiritsa ntchito mawu olembedwa kumaloledwa ngati kuli kofunikira kuthandizira API ndi ABI zowululidwa mu malo ogwiritsira ntchito, komanso pamene mukukonzanso kachidindo kuti athandizire hardware kapena ndondomeko zomwe zilipo zomwe zimafuna kugwiritsa ntchito mawu ena.
    • Debugging chida m'gulu Mtengo wa KCSAN (Kernel Concurrency Sanitizer), yopangidwa kuti izindikirike mwachidwi mikhalidwe yamtundu mkati mwa phata. Kugwiritsiridwa ntchito kwa KCSAN kumathandizidwa pomanga mu GCC ndi Clang, ndipo kumafuna kusinthidwa kwapadera panthawi yosonkhanitsa kuti mufufuze mwayi wa kukumbukira (zosokoneza zimagwiritsidwa ntchito zomwe zimayambitsidwa pamene kukumbukira kuwerengedwa kapena kusinthidwa). Cholinga cha chitukuko cha KCSAN chinali kupewa kupewa, kuchulukira, komanso kugwiritsa ntchito mosavuta.
    • Awonjezedwa njira yapadziko lonse lapansi kutumiza zidziwitso kuchokera ku kernel kupita kumalo ogwiritsira ntchito. Makinawa amatengera dalaivala wamba wa chitoliro ndipo amakulolani kugawa bwino zidziwitso kuchokera ku kernel pamayendedwe otsegulidwa pamalo ogwiritsa ntchito. Mfundo zolandirira zidziwitso ndi mapaipi omwe amatsegulidwa mwanjira yapadera ndikulola kuti mauthenga omwe alandilidwa kuchokera ku kernel asonkhanitsidwe mu ring buffer. Kuwerenga kumachitika ndi ntchito yanthawi zonse ya read(). Mwini tchanelo amasankha zomwe zili mu kernel zomwe zikuyenera kuyang'aniridwa ndipo atha kufotokozera zosefera kuti zinyalanyaza mitundu ina ya mauthenga ndi zochitika. Pazochitikazo, ntchito zokhala ndi makiyi ndizomwe zimathandizidwa pakadali pano, monga kuwonjezera/kuchotsa makiyi ndikusintha mawonekedwe awo. Zochitika izi zakonzedwa kuti zigwiritsidwe ntchito ku GNOME.
    • Kupititsa patsogolo ntchito za 'pidfd' kuti zithandizire kuthana ndi zochitika zogwiritsanso ntchito PID (pidfd imalumikizidwa ndi njira inayake ndipo sisintha, pomwe PID imatha kulumikizidwa ndi njira ina ikatha njira yomwe ikukhudzana ndi PIDyo). Mtundu watsopanowu umawonjezera chithandizo chogwiritsa ntchito pidfd kulumikiza njira kumalo osungira mayina (kulola kuti pidfd ifotokozedwe poyimba foni ya sets). Kugwiritsa ntchito pidfd kumakupatsani mwayi wowongolera kulumikizidwa kwa njira kumitundu ingapo yamalo ndi kuyimba kumodzi, kuchepetsa kwambiri kuchuluka kwa mafoni ofunikira ndikukhazikitsa ma atomiki (ngati kulumikizidwa kumodzi mwamalo kumalephera, enawo sangalumikizane) .
    • Onjezani foni yatsopano facecessat2(), yosiyana ndi
      nkhope () mkangano wowonjezera wokhala ndi mbendera zomwe zimagwirizana ndi malingaliro a POSIX (m'mbuyomu mbenderazi zidatsatiridwa mu laibulale ya C, ndipo faceat2 yatsopano imawalola kukhazikitsidwa mu kernel).

    • Mu Cgroup anawonjezera memory.swap.high setting yomwe ingagwiritsidwe ntchito kuchepetsa ntchito zomwe zimatenga malo osinthana kwambiri.
    • Kwa mawonekedwe asynchronous I/O io_kunena kuthandizira kwa tee() system call.
    • Njira yowonjezera "Mtengo wa BPF, yopangidwa kuti itulutse zomwe zili mumagulu a kernel kumalo ogwiritsira ntchito.
    • Zaperekedwa Kutha kugwiritsa ntchito chotchinga chotchinga pakusinthana kwa data pakati pa mapulogalamu a BPF.
    • Mu makina padata, yopangidwa kuti ipangitse ntchito zofananira mu kernel, kuwonjezera thandizo la ntchito zamitundu yambiri ndi kusanja katundu.
    • Mu makina a pstore, omwe amakupatsani mwayi wosunga zidziwitso zazomwe zimayambitsa kuwonongeka kwa malo okumbukira omwe sanatayike pakati pa kuyambiranso, anawonjezera backend kuti musunge zambiri kuti mutseke zida.
    • Kuchokera ku PREEMPT_RT kernel nthambi kusunthidwa kukhazikitsa maloko akomweko.
    • Awonjezedwa new buffer allocation API (AF_XDP), yomwe cholinga chake ndi kufewetsa kulemba kwa madalaivala a netiweki ndi chithandizo cha XDP (eXpress Data Path).
    • Pamamangidwe a RISC-V, kuthandizira pakuwongolera zida za kernel pogwiritsa ntchito KGDB kwakhazikitsidwa.
    • Asanatulutse 4.8, zofunikira za mtundu wa GCC womwe ungagwiritsidwe ntchito pomanga kernel zawonjezeka. Mu imodzi mwazotulutsa zotsatila zikukonzekera kukweza mipiringidzo ku GCC 4.9.
  • Disk Subsystem, I/O ndi File Systems
    • Mu Chipangizo Mapper anawonjezera new dm-ebs (emulate block size) chogwirizira, chomwe chitha kugwiritsidwa ntchito kutsanzira kakulidwe kakang'ono komveka bwino (mwachitsanzo, kutengera magawo a 512-byte pa disks zazikuluzikulu za gawo la 4K).
    • Dongosolo la fayilo la F2FS tsopano limathandizira kukanikiza pogwiritsa ntchito algorithm ya LZO-RLE.
    • Mu dm-crypt anawonjezera thandizo kwa makiyi encrypted.
    • Btrfs yasintha kasamalidwe ka magwiridwe antchito molunjika I/O. Pamene kukwera fulumira kuyang'ana zigawo ndi zolemba zomwe zachotsedwa popanda kholo.
    • Gawo la "nodelete" lawonjezeredwa ku CIFS, kulola chilolezo chovomerezeka pa seva, koma kuletsa kasitomala kuchotsa mafayilo kapena zolemba.
    • Ext4 yasintha kukonza zolakwika ENOSPC mukamagwiritsa ntchito multithreading. xattr yawonjezera chithandizo cha gnu.* namespace yomwe imagwiritsidwa ntchito mu GNU Hurd.
    • Kwa Ext4 ndi XFS, kuthandizira kwa ntchito za DAX kumathandizidwa (kufikira mwachindunji pamafayilo, kudutsa cache yamasamba osagwiritsa ntchito mulingo wa chipangizo chotchinga) pokhudzana ndi mafayilo ndi zolemba.
    • Mu call system statx() mbendera anawonjezera STATX_ATTR_DAX, yomwe ikatchulidwa, imatenga zambiri pogwiritsa ntchito injini ya DAX.
    • EXFAT anawonjezera kuthandizira kutsimikizira malo a boot.
    • Mu FAT bwino kutsitsa mwachangu kwazinthu za FS. Kuyesa kuyendetsa pang'onopang'ono kwa 2TB USB kunawonetsa kuchepa kwa nthawi yomaliza mayeso kuchokera pa 383 mpaka masekondi 51.
  • Network subsystem
    • Mu kachidindo ka kulamulira ntchito ya maukonde milatho anawonjezera thandizo la protocol MRP (Media Redundancy Protocol), yomwe imalola kulolerana ndi zolakwika potsegula ma switch angapo a Ethernet.
    • Njira yoyendetsera magalimoto (Tc) anawonjezera "chipata" chatsopano, chomwe chimapangitsa kuti zitheke kufotokozera nthawi yokonza ndi kutaya mapaketi ena.
    • Thandizo loyesa chingwe cholumikizidwa ndi netiweki ndikudzizindikiritsa nokha pazida zapaintaneti zawonjezeredwa ku kernel ndi chida cha ethtool.
    • Thandizo la MPLS (Multiprotocol Label Switching) aligorivimu yawonjezedwa ku stack ya IPv6 yoyendetsera mapaketi pogwiritsa ntchito multiprotocol label switching (MPLS idathandizidwa kale ndi IPv4).
    • Zowonjezera zothandizira kutumiza IKE (Internet Key Exchange) ndi mapaketi a IPSec pa TCP (RFC 8229) kudutsa kutsekereza kwa UDP komwe kungatheke.
    • Yowonjezedwa ndi network block device rnbd, yomwe imakupatsani mwayi wokonza zofikira kutali ndi chipangizo chotchinga pogwiritsa ntchito zoyendera za RDMA (InfiniBand, RoCE, iWARP) ndi protocol ya RTRS.
    • Pankhani ya TCP anawonjezera kuthandizira kuphatikizika kwamitundu pamayankho ovomerezeka osankhidwa (SACK).
    • Za IPv6 zakhazikitsidwa Thandizo la TCP-LD (RFC 6069, Kusokonezeka kwa Kulumikizana Kwakutali).
  • Zida
    • Dalaivala wa i915 DRM wamakhadi avidiyo a Intel akuphatikiza chithandizo cha tchipisi ta Intel Tiger Lake (GEN12) mwachisawawa, chomwe zakhazikitsidwa Kutha kugwiritsa ntchito makina a SAGV (System Agent Geyserville) kuti asinthe ma frequency ndi magetsi malinga ndi kugwiritsa ntchito mphamvu kapena zofunikira pakuchita.
    • Dalaivala wa amdgpu wawonjezera chithandizo cha mtundu wa pixel wa FP16 komanso kuthekera kogwira ntchito ndi ma buffers osungidwa mu memory memory (TMZ, Trusted Memory Zone).
    • Thandizo lowonjezera la masensa amagetsi a AMD Zen ndi Zen2 processors, komanso masensa kutentha kwa AMD Ryzen 4000 Renoir. Thandizo lopezanso chidziwitso chogwiritsa ntchito mphamvu kudzera pa mawonekedwe amaperekedwa kwa AMD Zen ndi Zen2 RAPL (Running Average Power Limit).
    • Thandizo lowonjezera la mtundu wa NVIDIA wosinthira ku driver wa Nouveau. Kwa gv100, kuthekera kogwiritsa ntchito mitundu yojambulira yolumikizirana kwakhazikitsidwa. Adawonjezera tanthauzo la vGPU.
    • Thandizo lowonjezera la Adreno A405, A640 ndi A650 GPUs kwa dalaivala wa MSM (Qualcomm).
    • Awonjezedwa dongosolo lamkati loyang'anira zothandizira za DRM (Direct Rendering Manager).
    • Thandizo lowonjezera la Xiaomi Redmi Note 7 ndi mafoni a m'manja a Samsung Galaxy S2, komanso ma laputopu a Elm/Hana Chromebook.
    • Madalaivala owonjezera a mapanelo a LCD: ASUS TM5P5 NT35596, Starry KR070PE2T, Leadtek LTK050H3146W, Visionox rm69299, Boe tv105wum-nw0.
    • Zowonjezera zothandizira matabwa a ARM ndi mapulaneti Renesas "RZ/G1H", Realtek RTD1195, Realtek RTD1395/RTD1619, Rockchips RK3326, AMLogic S905D, S905X3, S922XH, Olimex A20-OLInu-LIMEXM-50M-LWXNUMX-MCXNUMXMC
      , Beacon i.MX8m-Mini, Qualcomm SDM660/SDM630, Xnano X5 TV Box, Stinger96, Beaglebone-AI.

    • Thandizo lowonjezera la purosesa ya MIPS Loongson-2K (chidule cha Loongson64). Kwa CPU Loongson 3, chithandizo cha virtualization pogwiritsa ntchito KVM hypervisor yawonjezedwa.
    • Zowonjezedwa
      kuthandizira purosesa yaku Russia ya Baikal-T1 ndi dongosolo-pa-chip potengera izo BE-T1000. Purosesa ya Baikal-T1 ili ndi ma cores awiri apamwamba a P5600 MIPS 32 r5 omwe amagwira ntchito pafupipafupi 1.2 GHz. Chip chili ndi L2 cache (1 MB), DDR3-1600 ECC memory controller, 1 10Gb Efaneti doko, 2 1Gb Efaneti madoko, PCIe Gen.3 x4 controller, 2 SATA 3.0 madoko, USB 2.0, GPIO, UART, SPI, I2C. Purosesa imapereka chithandizo cha hardware cha virtualization, malangizo a SIMD ndi integrated hardware cryptographic accelerator yomwe imathandizira GOST 28147-89. Chipchi chimapangidwa pogwiritsa ntchito chipika cha MIPS32 P5600 Warrior processor chovomerezeka kuchokera ku Imagination Technologies.

Nthawi yomweyo, Latin American Free Software Foundation anapanga
njira kernel yaulere kwathunthu 5.8 - Linux-libre 5.8-gnu, kuchotsedwa kwa firmware ndi zinthu zoyendetsa galimoto zomwe zili ndi zida zopanda ufulu kapena zigawo za code, zomwe zimakhala zochepa ndi wopanga. Kutulutsidwa kwatsopanoku kumalepheretsa kutsitsa kwa ma blob m'madalaivala a Atom ISP Video, MediaTek 7663 USB/7915 PCIe, Realtek 8723DE WiFi, Renesas PCI xHCI, HabanaLabs Gaudi, Enhanced Asynchronous Sample Rate Converter, Maxim Integrated MAX98390 MAX38060 Home Audio Processing AmpL2Spikala Aimpl86 Spika Aimpl6656 ndi IXNUMXC EEPROM Slave. Khodi yoyeretsera ma blob yosinthidwa ku Adreno GPU, HabanaLabs Goya, xXNUMX touchscreen, vtXNUMX ndi ma driver a btbcm ndi ma subsystems.

Source: opennet.ru

Kuwonjezera ndemanga