Kutolewa kwa kernel ya Linux 6.0

Baada ya miezi miwili ya maendeleo, Linus Torvalds aliwasilisha kutolewa kwa Linux 6.0 kernel. Mabadiliko makubwa ya nambari ya toleo ni kwa sababu za urembo na ni hatua rasmi ya kupunguza usumbufu wa kukusanya idadi kubwa ya maswala kwenye safu (Linus alitania kwamba sababu ya kubadilisha nambari ya tawi ni uwezekano mkubwa kwamba alikuwa akiishiwa na vidole. na vidole kuhesabu nambari za toleo) . Miongoni mwa mabadiliko mashuhuri zaidi: usaidizi wa uandishi wa bafa wa asynchronous katika XFS, kiendesha ublk block, uboreshaji wa kipanga kazi, utaratibu wa kuthibitisha utendakazi sahihi wa kernel, usaidizi wa ARIA block cipher.

Ubunifu kuu katika kernel 6.0:

  • Mfumo mdogo wa diski, I/O na mifumo ya faili
    • Mfumo wa faili wa XFS umeongeza usaidizi wa uandishi wa asynchronous buffered kwa kutumia utaratibu wa io_uring. Majaribio ya utendakazi yaliyofanywa kwa kutumia zana za fio (uzi 1, saizi ya 4kB ya bloku, sekunde 600, uandishi wa mtiririko) unaonyesha ongezeko la shughuli za ingizo/pato kwa sekunde (IOPS) kutoka 77k hadi 209k, kasi ya kuhamisha data kutoka 314MB/s hadi 854MB /s, na kushuka kwa latency kutoka 9600ns hadi 120ns (mara 80).
    • Mfumo wa faili wa Btrfs hutekeleza toleo la pili la itifaki ya amri ya "tuma", ambayo hutekeleza usaidizi wa metadata ya ziada, kutuma data katika vizuizi vikubwa (zaidi ya 64K) na kusambaza vipimo katika fomu iliyobanwa. Utendaji wa shughuli za kusoma moja kwa moja umeongezeka kwa kiasi kikubwa (hadi mara 3) kutokana na usomaji wa wakati mmoja wa hadi sekta 256. Kupunguza ugomvi wa kufunga na kuharakisha ukaguzi wa metadata kwa kupunguza metadata iliyohifadhiwa kwa vipengee vilivyoahirishwa.
    • Operesheni mpya za ioctl EXT4_IOC_GETFSUUID na EXT4_IC_SETFSUUID zimeongezwa kwenye mfumo wa faili wa ext4 ili kupata au kuweka UUID iliyohifadhiwa kwenye kizuizi kikuu.
    • Mfumo wa faili wa F2FS hutoa hali ya chini ya matumizi ya kumbukumbu, ambayo inaboresha uendeshaji kwenye vifaa na kiasi kidogo cha RAM na inakuwezesha kupunguza matumizi ya kumbukumbu kwa gharama ya utendaji uliopunguzwa.
    • Usaidizi ulioongezwa kwa uthibitishaji wa kiendeshi cha NVMe.
    • Seva ya NFSv4 huweka kikomo kwa idadi ya wateja wanaotumika, ambayo imewekwa kama wateja 1024 halali kwa kila gigabyte ya RAM kwenye mfumo.
    • Utekelezaji wa mteja wa CIFS umeboresha utendakazi katika hali ya upitishaji ya njia nyingi.
    • Alama mpya ya FAN_MARK_IGNORE imeongezwa kwenye mfumo mdogo wa kufuatilia tukio katika fanotify FS ili kupuuza matukio mahususi.
    • Katika FS ya Uwekeleaji, inapowekwa juu ya FS na ramani ya kitambulisho cha mtumiaji, usaidizi sahihi wa orodha za udhibiti wa ufikiaji zinazotii POSIX hutolewa.
    • Imeongeza kiendesha ublk block, ambayo husogeza mantiki mahususi kando ya mchakato wa usuli katika nafasi ya mtumiaji na kutumia mfumo mdogo wa io_uring.
  • Huduma za kumbukumbu na mfumo
    • Vipengele vipya vimeongezwa kwenye mfumo mdogo wa DAMON (Data Access MONitor), kuruhusu sio tu kufuatilia upatikanaji wa mchakato wa RAM kutoka nafasi ya mtumiaji, lakini pia kuathiri usimamizi wa kumbukumbu. Hasa, moduli mpya "LRU_SORT" imependekezwa, ambayo hutoa kupanga upya orodha za LRU (Inayotumika Hivi Karibuni) ili kuongeza kipaumbele cha kurasa fulani za kumbukumbu.
    • Uwezo wa kuunda maeneo mapya ya kumbukumbu umetekelezwa kwa kutumia uwezo wa basi ya CXL (Compute Express Link), inayotumiwa kupanga mwingiliano wa kasi kati ya CPU na vifaa vya kumbukumbu. CXL hukuruhusu kuunganisha sehemu mpya za kumbukumbu zinazotolewa na vifaa vya kumbukumbu vya nje na kuzitumia kama rasilimali ya ziada ya nafasi ya anwani ili kupanua kumbukumbu ya ufikiaji nasibu ya mfumo (DDR) au kumbukumbu ya kudumu (PMEM).
    • Masuala ya utendakazi yaliyosuluhishwa na vichakataji vya AMD Zen yaliyosababishwa na msimbo ulioongezwa miaka 20 iliyopita ili kutatua suala la maunzi katika baadhi ya chipsets (maagizo ya ziada ya WAIT yaliongezwa ili kupunguza kasi ya kichakataji ili chipset iwe na wakati wa kwenda katika hali ya kutofanya kazi). Mabadiliko hayo yalisababisha utendakazi mdogo chini ya mizigo ya kazi ambayo mara kwa mara hupishana kati ya hali ya kutofanya kitu na yenye shughuli nyingi. Kwa mfano, baada ya kuzima suluhisho, wastani wa alama za mtihani wa tbenchi uliongezeka kutoka 32191 MB/s hadi 33805 MB/s.
    • Msimbo wenye hesabu unaohakikisha uhamishaji wa michakato hadi kwenye CPU zilizopakiwa kidogo zaidi, kwa kuzingatia faida iliyotabiriwa katika matumizi ya nishati, umeondolewa kutoka kwa kipanga ratiba. Wasanidi programu walihitimisha kuwa uhamaji haukuwa na manufaa kama ilivyopaswa kuwa na kwamba ilikuwa rahisi kuiondoa na kuhamisha michakato bila tathmini ya ziada wakati wowote uhamiaji kama huo ungeweza kusababisha matumizi ya chini ya nguvu (kwa mfano, wakati CPU inayolengwa iko ndani. kiwango cha chini cha nguvu). Kulemaza heuristics kulisababisha kupunguzwa kwa matumizi ya nguvu wakati wa kufanya kazi kubwa, kwa mfano, katika jaribio la kusimbua video, matumizi ya nguvu yalipungua kwa 5.6%.
    • Usambazaji wa kazi kwenye viini vya CPU kwenye mifumo mikubwa umeboreshwa, ambayo imeboresha utendakazi kwa aina fulani za mzigo wa kazi.
    • Kiolesura cha io_uring kisicholingana cha I/O kinatoa bendera mpya, IORING_RECV_MULTISHOT, ambayo hukuruhusu kutumia hali ya kupiga picha nyingi na mfumo wa recv() simu kufanya shughuli nyingi za kusoma kutoka kwa soketi moja ya mtandao mara moja. io_uring pia inasaidia uhamishaji wa mtandao bila uakibishaji wa kati (nakala sifuri).
    • Imetekelezwa uwezo wa kuweka programu za BPF zilizoambatanishwa na uprobe katika hali ya usingizi. BPF pia inaongeza ksym ya kiboreshaji kipya cha kufanya kazi na jedwali za alama za kernel.
    • Kiolesura cha kizamani cha "efivars" katika sysfs, kilichokusudiwa kufikia vigeu vya uanzishaji wa UEFI, kimeondolewa (efivarfs virtual FS sasa inatumika ulimwenguni kote kufikia data ya EFI).
    • Huduma ya perf ina ripoti mpya za kuchanganua mizozo ya kufuli na wakati unaotumiwa na kichakataji kutekeleza vipengee vya kernel.
    • Mpangilio wa CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 umeondolewa, ambao uliruhusu kernel kujengwa katika hali ya uboreshaji "-O3". Inabainika kuwa majaribio ya njia za uboreshaji yanaweza kufanywa kwa kupitisha bendera wakati wa kuunganisha ("tengeneza KCFLAGS=-O3"), na kuongeza mpangilio kwenye Kconfig kunahitaji uboreshaji wa utendaji unaorudiwa, kuonyesha kuwa uondoaji wa kitanzi unaotumiwa katika hali ya "-O3" unatoa. faida ikilinganishwa na kiwango cha uboreshaji cha "-O2".
    • Kiolesura cha debugfs kimeongezwa ili kupata taarifa kuhusu utendakazi wa "vipunguza kumbukumbu" vya kibinafsi (vishughulikiaji huitwa wakati hakuna kumbukumbu ya kutosha na miundo ya data ya kernel ili kupunguza matumizi yao ya kumbukumbu).
    • Kwa usanifu wa OpenRISC na LoongArch, usaidizi wa basi la PCI unatekelezwa.
    • Kwa usanifu wa RISC-V, kiendelezi cha "Zicbom" kimetekelezwa ili kudhibiti vifaa vilivyo na DMA ambavyo havina kache.
  • Virtualization na Usalama
    • Utaratibu wa uthibitishaji wa RV (Runtime Verification) umeongezwa ili kuthibitisha utendakazi sahihi kwenye mifumo inayotegemewa sana ambayo inahakikisha hakuna kushindwa. Uthibitishaji unafanywa wakati wa utekelezaji kwa kuambatisha vishikilizi ili kufuatilia pointi ambazo hukagua maendeleo halisi ya utekelezaji dhidi ya muundo wa ubainishaji wa marejeleo uliobainishwa mapema wa mashine ambao hufafanua tabia inayotarajiwa ya mfumo. Uthibitishaji kwa kutumia muundo wakati wa utekelezaji umewekwa kama njia nyepesi na rahisi kutekeleza ili kuthibitisha usahihi wa utekelezaji kwenye mifumo muhimu, inayosaidiana na njia za uthibitishaji za kutegemeka. Miongoni mwa faida za RV ni uwezo wa kutoa uthibitishaji mkali bila utekelezaji tofauti wa mfumo mzima katika lugha ya mfano, pamoja na majibu rahisi kwa matukio yasiyotarajiwa.
    • Vipengele vya kernel vilivyounganishwa vya kudhibiti enclaves kulingana na teknolojia ya Intel SGX2 (Programu ya Walinzi eXtensions), ambayo huruhusu programu kutekeleza msimbo katika maeneo yaliyotengwa ya kumbukumbu, ambayo mfumo wote una ufikiaji mdogo. Teknolojia ya Intel SGX2 inatumika katika ziwa la Intel Ice Lake na chipsi za Ziwa la Gemini, na inatofautiana na Intel SGX1 katika maagizo ya ziada ya usimamizi thabiti wa kumbukumbu za enclaves.
    • Kwa usanifu wa x86, uwezo wa kuhamisha mbegu kwa jenereta ya nambari ya pseudorandom kupitia mipangilio ya bootloader imetekelezwa.
    • SafeSetID LSM moduli sasa ina uwezo wa kudhibiti mabadiliko yanayofanywa kupitia setgroups() simu. SafeSetID huruhusu huduma za mfumo kudhibiti watumiaji kwa usalama bila marupurupu yanayoongezeka (CAP_SETUID) na bila kupata haki za msingi.
    • Umeongeza usaidizi kwa ARIA block cipher.
    • Moduli ya usimamizi wa usalama yenye msingi wa BPF hutoa uwezo wa kuambatisha vidhibiti kwa michakato ya mtu binafsi na vikundi vya kuchakata (vikundi).
    • Mbinu iliyo na utekelezaji wa uangalizi imeongezwa ili kugundua misururu ya mifumo ya wageni kulingana na ufuatiliaji wa shughuli za vCPU.
  • Mfumo mdogo wa mtandao
    • Vishikizi vya kuzalisha na kuangalia vidakuzi vya SYN vimeongezwa kwenye mfumo mdogo wa BPF. Pia imeongezwa ni seti ya kazi (kfunc) ya kupata na kubadilisha hali ya viunganisho.
    • Rafu isiyotumia waya imeongeza usaidizi kwa utaratibu wa MLO (Multi-Link Operation), iliyofafanuliwa katika vipimo vya WiFi 7 na kuruhusu vifaa kupokea na kutuma data kwa wakati mmoja kwa kutumia bendi na chaneli tofauti za masafa, kwa mfano, kwa wakati mmoja kuanzisha njia kadhaa za mawasiliano kati ya mahali pa kufikia kifaa cha mteja.
    • Utendaji wa itifaki ya TLS iliyojengwa ndani ya kernel umeboreshwa.
    • Imeongeza chaguo la mstari wa amri ya kernel "hostname=" ili kuruhusu jina la mpangishaji kuwekwa mapema katika mchakato wa kuwasha, kabla ya viambajengo vya nafasi ya mtumiaji kuanza.
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Dereva wa i915 (Intel) hutoa usaidizi kwa kadi za video za Intel Arc (DG2/Alchemist) A750 na A770. Utekelezaji wa awali wa usaidizi wa Intel Ponte Vecchio (Xe-HPC) na Meteor Lake GPU umependekezwa. Kazi inaendelea kusaidia jukwaa la Intel Raptor Lake.
    • Dereva wa amdgpu anaendelea kutoa usaidizi kwa majukwaa ya AMD RDNA3 (RX 7000) na CDNA (Instinct).
    • Kiendeshaji cha Nouveau kimerekebisha upya msimbo wa usaidizi wa injini za kuonyesha za NVIDIA nv50 GPU.
    • Imeongeza kiendeshi kipya cha logicvc DRM kwa skrini za LogiCVC.
    • Kiendeshaji cha v3d (kwa Broadcom Video Core GPU) kinaauni bodi za Raspberry Pi 4.
    • Imeongeza usaidizi wa Qualcomm Adreno 619 GPU kwa kiendesha msm.
    • Imeongeza usaidizi kwa ARM Mali Valhall GPU kwa kiendesha Panfrost.
    • Umeongeza usaidizi wa awali kwa vichakataji vya Qualcomm Snapdragon 8cx Gen3 vinavyotumika kwenye kompyuta ndogo za Lenovo ThinkPad X13s.
    • Viendesha sauti vilivyoongezwa vya AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake na majukwaa ya Mediatek MT8186.
    • Usaidizi umeongezwa kwa vichapuzi vya kujifunza mashine vya Intel Habana Gaudi 2.
    • Usaidizi ulioongezwa kwa ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530, Google Chameleon v3.

Wakati huo huo, Taasisi ya Programu ya Bure ya Amerika ya Kusini iliunda toleo la bure kabisa kernel 6.0 - Linux-libre 6.0-gnu, iliyosafishwa ya vipengele vya firmware na viendeshi vyenye vipengele visivyo vya bure au sehemu za kanuni, wigo ambao ni. imepunguzwa na mtengenezaji. Toleo jipya linalemaza utumiaji wa vitone katika kiendeshi cha sauti cha CS35L41 HD na kiendeshi cha UCSI cha vidhibiti vidogo vya STM32G0. Faili za DTS za chips za Qualcomm na MediaTek zimesafishwa. Kulemaza kwa blobs kwenye kiendeshi cha MediaTek MT76 kumefanyiwa kazi upya. Imesasisha msimbo wa kusafisha blob katika AMDGPU, Adreno, Tegra VIC, Netronome NFP na viendeshaji na mifumo midogo ya Habanalabs Gaudi2. Iliacha kusafisha dereva wa VXGE, ambayo iliondolewa kwenye kernel.

Chanzo: opennet.ru

Kuongeza maoni