Kutolewa kwa kernel ya Linux 5.17

Baada ya miezi miwili ya maendeleo, Linus Torvalds aliwasilisha kutolewa kwa Linux kernel 5.17. Miongoni mwa mabadiliko mashuhuri zaidi: mfumo mpya wa usimamizi wa utendaji wa wasindikaji wa AMD, uwezo wa kuweka upya vitambulisho vya mtumiaji katika mifumo ya faili, usaidizi wa programu zinazoweza kusongeshwa za BPF, mpito wa jenereta ya nambari isiyo ya kawaida hadi algorithm ya BLAKE2s, matumizi ya RTLA. kwa uchanganuzi wa utekelezaji wa wakati halisi, mandharinyuma mpya ya fscache ya mifumo ya faili ya mtandao ya akiba, uwezo wa kuambatisha majina kwenye shughuli za mmap zisizojulikana.

Toleo jipya linajumuisha marekebisho 14203 kutoka kwa watengenezaji 1995, ukubwa wa kiraka ni 37 MB (mabadiliko yaliathiri faili 11366, mistari 506043 ya kanuni iliongezwa, mistari 250954 ilifutwa). Takriban 44% ya mabadiliko yote yaliyoletwa katika 5.17 yanahusiana na viendeshi vya kifaa, takriban 16% ya mabadiliko yanahusiana na kusasisha nambari maalum kwa usanifu wa maunzi, 15% inahusiana na safu ya mtandao, 4% inahusiana na mifumo ya faili, na 4% zinahusiana na mifumo ndogo ya kernel ya ndani.

Ubunifu kuu katika kernel 5.17:

  • Mfumo mdogo wa diski, I/O na mifumo ya faili
    • Umetekeleza uwezekano wa upangaji ramani wa vitambulisho vya mtumiaji wa mifumo ya faili iliyowekwa, inayotumika kulinganisha faili za mtumiaji mahususi kwenye kizigeu cha kigeni kilichopachikwa na mtumiaji mwingine kwenye mfumo wa sasa. Kipengele kilichoongezwa hukuruhusu kutumia ramani kwa kujirudia juu ya mifumo ya faili ambayo uchoraji wa ramani tayari umetumika.
    • Mfumo mdogo wa fscache, unaotumiwa kupanga uhifadhi katika mfumo wa faili wa ndani wa data iliyohamishwa kupitia mifumo ya faili za mtandao, imeandikwa upya kabisa. Utekelezaji mpya unatofautishwa na kurahisisha kwa kiasi kikubwa kanuni na uingizwaji wa shughuli ngumu za upangaji na ufuatiliaji wa hali ya kitu na mifumo rahisi. Usaidizi wa fscache mpya unatekelezwa katika mfumo wa faili wa CIFS.
    • Mfumo mdogo wa ufuatiliaji wa tukio katika fanotify FS hutekelezea aina mpya ya tukio, FAN_RENAME, ambayo hukuruhusu kukatiza mara moja utendakazi wa kubadilisha faili au saraka (hapo awali, matukio mawili tofauti FAN_MOVED_FROM na FAN_MOVED_TO yalitumiwa kuchakata ubadilishanaji majina).
    • Mfumo wa faili wa Btrfs umeboresha shughuli za ukataji miti na fsync kwa saraka kubwa, zinazotekelezwa kwa kunakili vitufe vya faharasa pekee na kupunguza idadi ya metadata iliyoingia. Usaidizi wa kuorodhesha na kutafuta kwa ukubwa wa rekodi za nafasi ya bure umetolewa, ambayo imepunguza muda wa kusubiri kwa takriban 30% na kupunguza muda wa utafutaji. Inaruhusiwa kukatiza shughuli za kutenganisha. Uwezo wa kuongeza vifaa wakati kusawazisha kati ya anatoa umezimwa, i.e. wakati wa kuweka mfumo wa faili na chaguo la skip_balance.
    • Syntax mpya ya kuweka mfumo wa faili wa Ceph imependekezwa, kutatua matatizo yaliyopo yanayohusiana na kufunga kwa anwani za IP. Kwa kuongezea anwani za IP, sasa unaweza kutumia kitambulisho cha nguzo (FSID) kutambua seva: mount -t ceph [barua pepe inalindwa]_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
    • Mfumo wa faili wa Ext4 umehamia kwenye API mpya ya kupachika ambayo hutenganisha chaguzi za uwekaji na hatua za usanidi wa block block. Tumeacha kutumia chaguzi za kupachika wakati wa uvivu na wakati wa nolazytime, ambazo ziliongezwa kama badiliko la muda ili kurahisisha mpito wa util-linux kutumia bendera ya MS_LAZYTIME. Usaidizi ulioongezwa wa kuweka na kusoma lebo katika FS (ioctl FS_IOC_GETFSLABEL na FS_IOC_SETFSLABEL).
    • NFSv4 iliongeza usaidizi wa kufanya kazi katika mifumo ya faili isiyojali kesi katika majina ya faili na saraka. NFSv4.1+ inaongeza usaidizi wa kufafanua vipindi vilivyojumlishwa (shina).
  • Huduma za kumbukumbu na mfumo
    • Kiendeshaji cha amd-pstate kimeongezwa ili kutoa udhibiti thabiti wa masafa kwa utendakazi bora. Dereva huauni CPU na APU za AMD kuanzia kizazi cha Zen 2, zilizotengenezwa kwa pamoja na Valve na inalenga kuboresha ufanisi wa usimamizi wa nishati. Kwa mabadiliko ya masafa ya kubadilika, utaratibu wa CPPC (Udhibiti wa Utendaji wa Kichakataji Shirikishi) hutumiwa, ambayo hukuruhusu kubadilisha viashiria kwa usahihi zaidi (sio tu kwa viwango vitatu vya utendaji) na kujibu kwa haraka zaidi mabadiliko ya hali kuliko P-state iliyotumika hapo awali ya ACPI. madereva (CPUFreq).
    • Mfumo mdogo wa eBPF hutoa kidhibiti cha bpf_loop(), ambacho hutoa njia mbadala ya kupanga vitanzi katika programu za eBPF, haraka na rahisi zaidi kwa uthibitishaji na kithibitishaji.
    • Katika kiwango cha kernel, utaratibu wa CO-RE (Compile Once - Run Everywhere) unatekelezwa, ambayo inakuwezesha kukusanya kanuni za programu za eBPF mara moja tu na kutumia kipakiaji maalum cha ulimwengu ambacho hubadilisha programu iliyopakiwa kwa kernel ya sasa na aina za BTF. (Muundo wa Aina ya BPF).
    • Inawezekana kugawa majina kwa maeneo ya kumbukumbu ya kibinafsi isiyojulikana (iliyotengwa kupitia malloc), ambayo inaweza kurahisisha utatuzi na uboreshaji wa utumiaji wa kumbukumbu katika programu. Majina yametolewa kupitia prctl na bendera ya PR_SET_VMA_ANON_NAME na yanaonyeshwa katika /proc/pid/maps na /proc/pid/smaps katika fomu "[anon: ]".
    • Mratibu wa kazi hutoa ufuatiliaji na kuonyesha katika /proc/PID/ilipanga muda uliotumiwa na michakato katika hali ya kutofanya kazi kwa kulazimishwa, inayotumiwa, kwa mfano, kupunguza mzigo wakati processor inapozidi.
    • Moduli ya gpio-sim imeongezwa, iliyoundwa kuiga chip za GPIO kwa majaribio.
    • Imeongeza amri ndogo ya "latency" kwa amri ya "perf ftrace" ili kutoa histogramu zilizo na maelezo ya muda.
    • Imeongeza seti ya huduma za "RTLA" za kuchanganua kazi kwa wakati halisi. Inajumuisha huduma kama vile osnoise (huamua athari za mfumo wa uendeshaji kwenye utekelezaji wa kazi) na timerlat (hubadilisha ucheleweshaji unaohusishwa na kipima muda).
    • Mfululizo wa pili wa patches umeunganishwa na utekelezaji wa dhana ya folios za ukurasa, ambazo zinafanana na kurasa za kiwanja, lakini zimeboresha semantiki na shirika la wazi la kazi. Kutumia tomes hukuruhusu kuharakisha usimamizi wa kumbukumbu katika mifumo ndogo ya kernel. Viraka vilivyopendekezwa vilikamilisha ubadilishaji wa kashe ya ukurasa kwa matumizi ya tomes na kuongeza usaidizi wa awali wa tomes katika mfumo wa faili wa XFS.
    • Imeongezwa modi ya uundaji ya "tengeneza mod2noconfig", ambayo hutoa usanidi unaokusanya mifumo yote ndogo iliyozimwa katika mfumo wa moduli za kernel.
    • Mahitaji ya toleo la LLVM/Clang linaloweza kutumika kujenga kernel yametolewa. Muundo sasa unahitaji angalau toleo la LLVM 11.
  • Virtualization na Usalama
    • Utekelezaji uliosasishwa wa jenereta ya nambari bandia ya RDRAND, inayohusika na uendeshaji wa vifaa vya /dev/random na /dev/urandom, unapendekezwa, muhimu kwa mpito wa kutumia kazi ya heshi ya BLAKE2s badala ya SHA1 kwa shughuli za kuchanganya entropy. Mabadiliko hayo yaliboresha usalama wa jenereta ya nambari bandia kwa kuondoa algoriti yenye matatizo ya SHA1 na kuondoa ubatilishaji wa vekta ya uanzishaji wa RNG. Kwa kuwa algoriti ya BLAKE2s ni bora kuliko SHA1 katika utendakazi, matumizi yake pia yalikuwa na athari chanya kwenye utendakazi.
    • Ulinzi ulioongezwa dhidi ya udhaifu katika vichakataji unaosababishwa na utekelezaji wa kubahatisha wa maagizo baada ya shughuli za kuruka mbele bila masharti. Tatizo hutokea kutokana na usindikaji wa awali wa maagizo mara moja kufuatia maelekezo ya tawi katika kumbukumbu (SLS, Ukadiriaji wa Mstari Sawa). Kuwasha ulinzi kunahitaji kujengwa kwa toleo la sasa la majaribio la GCC 12.
    • Imeongeza utaratibu wa kufuatilia kuhesabu marejeleo (hesabu upya, hesabu ya marejeleo), inayolenga kupunguza idadi ya makosa katika kuhesabu marejeleo ambayo husababisha ufikiaji wa kumbukumbu baada ya kuachiliwa. Utaratibu kwa sasa ni mdogo kwa mfumo mdogo wa mtandao, lakini katika siku zijazo unaweza kubadilishwa kwa sehemu zingine za kernel.
    • Ukaguzi uliopanuliwa wa maingizo mapya katika jedwali la ukurasa wa kumbukumbu ya mchakato umetekelezwa, kuruhusu kuchunguza aina fulani za uharibifu na kuacha mfumo, kuzuia mashambulizi katika hatua ya awali.
    • Imeongeza uwezo wa kufungua moduli za kernel moja kwa moja na kernel yenyewe, na si kwa kidhibiti katika nafasi ya mtumiaji, ambayo inaruhusu kutumia moduli ya LoadPin LSM ili kuhakikisha kuwa moduli za kernel zinapakiwa kwenye kumbukumbu kutoka kwa kifaa cha kuhifadhi kilichothibitishwa.
    • Mkusanyiko uliotolewa na alamisho ya "-Wcast-function-aina", ambayo huwezesha maonyo kuhusu kutuma viashiria vya utendakazi kwa aina isiyooana.
    • Imeongeza kiendeshi cha seva pangishi pvUSB kwa hypervisor ya Xen, kutoa ufikiaji wa vifaa vya USB vinavyotumwa kwa mifumo ya wageni (huruhusu mifumo ya wageni kufikia vifaa halisi vya USB vilivyowekwa kwa mfumo wa wageni).
    • Sehemu imeongezwa ambayo inakuruhusu kuingiliana kupitia Wi-Fi na mfumo mdogo wa IME (Intel Management Engine), ambao huja katika ubao-mama wa kisasa wenye vichakataji vya Intel na hutekelezwa kama kichakataji kidogo kinachofanya kazi bila kutegemea CPU.
    • Kwa usanifu wa ARM64, usaidizi umetekelezwa kwa zana ya utatuzi ya KCSAN (Kernel Concurrency Sanitizer), iliyoundwa ili kutambua kwa urahisi hali za mbio ndani ya kernel.
    • Kwa mifumo ya ARM ya 32-bit, uwezo wa kutumia utaratibu wa KFENCE kuchunguza makosa wakati wa kufanya kazi na kumbukumbu umeongezwa.
    • Hypervisor ya KVM inaongeza usaidizi kwa maagizo ya AMX (Advanced Matrix Extensions) yanayotekelezwa katika vichakataji vijavyo vya Intel Xeon Scalable.
  • Mfumo mdogo wa mtandao
    • Usaidizi ulioongezwa wa upakiaji wa shughuli zinazohusiana na usimamizi wa trafiki kwa upande wa vifaa vya mtandao.
    • Imeongeza uwezo wa kutumia MCTP (Itifaki ya Usafirishaji ya Sehemu ya Udhibiti) kwenye vifaa vya mfululizo. MCTP inaweza kutumika kuwasiliana kati ya vidhibiti vya wasimamizi na vifaa vyao vinavyohusishwa (vichakataji seva pangishi, vifaa vya pembeni, n.k.).
    • Rafu ya TCP imeboreshwa, kwa mfano, ili kuboresha utendakazi wa simu za recvmsg, kucheleweshwa kwa kutolewa kwa buffer za soketi kumetekelezwa.
    • Katika kiwango cha mamlaka ya CAP_NET_RAW, kuweka SO_PRIORITY na modi za SO_MARK kupitia chaguo za kukokotoa za setsockopt inaruhusiwa.
    • Kwa IPv4, soketi ghafi zinaruhusiwa kufungwa kwa anwani za IP zisizo za karibu nawe kwa kutumia chaguo za IP_FREEBIND na IP_TRANSPARENT.
    • Imeongeza sysctl arp_missed_max ili kusanidi nambari ya kizingiti cha kushindwa wakati wa ukaguzi wa ufuatiliaji wa ARP, baada ya hapo kiolesura cha mtandao kinawekwa katika hali ya kuzimwa.
    • Hutoa uwezo wa kusanidi sysctl min_pmtu tofauti na thamani za mtu_inaisha muda kwa nafasi za majina za mtandao.
    • Imeongeza uwezo wa kuweka na kubainisha ukubwa wa vihifadhi kwa pakiti zinazoingia na zinazotoka kwenye API ya ethtool.
    • Netfilter imeongeza usaidizi wa kuchuja trafiki ya pppoe ya usafiri katika daraja la mtandao.
    • Moduli ya ksmbd, ambayo hutekeleza seva ya faili kwa kutumia itifaki ya SMB3, imeongeza usaidizi wa kubadilishana ufunguo, kuwezesha mlango wa mtandao 445 kwa smbdirect, na kuongeza usaidizi kwa kigezo cha "smb2 max credit".
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Usaidizi wa skrini kwa ajili ya kuonyesha taarifa za siri umeongezwa kwa mfumo mdogo wa drm (Direct Rendering Manager) na kiendeshi cha i915, kwa mfano, baadhi ya kompyuta ndogo zina skrini zilizo na hali ya utazamaji iliyojengewa ndani, na hivyo kufanya iwe vigumu kuzitazama kutoka nje. . Mabadiliko yaliyoongezwa hukuruhusu kuunganisha viendeshi maalum kwa skrini kama hizo na kudhibiti hali za kuvinjari za siri kwa kuweka sifa katika viendeshi vya kawaida vya KMS.
    • Kiendeshi cha amdgpu kinajumuisha usaidizi wa teknolojia ya utatuzi ya STB (Smart Trace Buffer) kwa GPU zote za AMD zinazoitumia. STB hurahisisha kuchanganua kushindwa na kutambua chanzo cha matatizo kwa kuhifadhi katika taarifa maalum ya bafa kuhusu kazi zilizofanywa kabla ya kushindwa mara ya mwisho.
    • Dereva wa i915 huongeza uwezo wa kutumia chips za Intel Raptor Lake S na kuwezesha utumiaji wa mfumo mdogo wa michoro wa chips za Intel Alder Lake P kwa chaguomsingi. Inawezekana kudhibiti mwangaza wa nyuma wa skrini kupitia kiolesura cha VESA DPCD.
    • Usaidizi wa kuongeza kasi ya kusogeza maunzi kwenye kiweko umerudishwa katika viendeshi vya fbcon/fbdev.
    • Kuendelea kuunganishwa kwa mabadiliko ili kusaidia chips za Apple M1. Imetekeleza uwezo wa kutumia kiendeshi cha simpledrm kwenye mifumo iliyo na chipu ya Apple M1 kwa kutoa kupitia fremu inayotolewa na programu dhibiti.
    • Usaidizi ulioongezwa kwa ARM SoΠ‘, vifaa na bodi Snapdragon 7c, 845 na 888 (Sony Xperia XZ2 / XZ2C / XZ3, Xperia 1 III / 5 III, Samsung J5, Microsoft Surface Duo 2), Mediatek MT6589 (Fairphone FP1), Mediatek MT8183 ( Acer Chromebook 314), Mediatek MT7986a/b (inatumika katika vipanga njia vya Wi-fi), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI J320s8, TIs NEPX8, TI SPEX2500P2600 SPEX32, TISPX1P6 SPEX , Aspeed AST6000/AST6001, Engicam i.Core STM14MP16, Allwinner Tanix TXXNUMX, Facebook Bletchley BMC, Goramo MultiLink, JOZ Access Point, Y Soft IOTA Crux/Crux+, tXNUMX/tXNUMX MacBook Pro XNUMX/XNUMX
    • Usaidizi ulioongezwa kwa vichakataji vya ARM Cortex-M55 na Cortex-M33.
    • Usaidizi ulioongezwa kwa vifaa kulingana na CPU MIP: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
    • Usaidizi ulioongezwa kwa StarFive JH7100 SoC kulingana na usanifu wa RISC-V.
    • Kiendeshaji cha lenovo-yogabook-wmi kimeongezwa ili kudhibiti taa ya nyuma ya kibodi na kufikia vitambuzi mbalimbali katika Kitabu cha Lenovo Yoga.
    • Kiendeshaji cha asus_wmi_sensors kimeongezwa ili kufikia vitambuzi vinavyotumika kwenye mbao za mama za Asus X370, X470, B450, B550 na X399 kulingana na vichakataji vya AMD Ryzen.
    • Kiendeshi cha kompyuta kibao za x86-android-tablets za Kompyuta za kompyuta za x86 zinazosafirishwa kwa mfumo wa Android.
    • Usaidizi ulioongezwa kwa skrini za kugusa za W1 za TrekStor SurfTab duo na kalamu ya kielektroniki kwa kompyuta kibao za Chuwi Hi10 Plus na Pro.
    • Madereva ya SoC Tegra 20/30 wameongeza usaidizi kwa usimamizi wa nguvu na voltage. Huwasha uanzishaji kwenye vifaa vya zamani vya 32-bit Tegra SoC kama vile ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 na Pad TF300TG.
    • Viendeshaji vilivyoongezwa vya kompyuta za viwandani za Siemens.
    • Usaidizi ulioongezwa kwa Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA na Paneli Chanzo cha Timu 043015 TXNUMXLCD Display XNUMXLCD panelXNUMX.
    • Usaidizi ulioongezwa kwa mifumo ya sauti na codecs AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, mifumo ya Intel inayotumia NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLV320DC. Matatizo ya Tegra3 HD-audio yametatuliwa. Imeongeza usaidizi wa HDA kwa kodeki za CS194L35. Usaidizi ulioboreshwa wa mifumo ya sauti kwa kompyuta za mkononi za Lenovo na HP, pamoja na ubao wa mama wa Gigabyte.

Chanzo: opennet.ru

Kuongeza maoni