Linux 5.9 tuku kernel

I muri i nga marama e rua o te whanaketanga, ko Linus Torvalds whakaurua tuku kernel Linux 5.9. I roto i nga huringa tino rongonui: te whakaiti i te kawemai o nga tohu mai i nga waahanga motuhake ki nga waahanga GPL, te tere ake i nga mahi whakawhiti horopaki ma te whakamahi i te tohutohu tukatuka FSGSBASE, te tautoko mo te whakakoi i nga whakaahua ma te whakamahi i te Zstd, te mahi ano i te kaupapa matua o nga miro i roto i te kernel, te tautoko mo te PRP (Parallel Redundancy Protocol), te whakarite i te bandwidth-aware i roto i te raarangi kati, te tarapi i mua i nga wharangi mahara, te haki kaha CAP_CHECKPOINT_RESTOR, te waea tata() punaha, nga whakapainga mahi dm-crypt, te tango waehere mo nga manuhiri Xen PV moka-32, mahara papa hou. tikanga whakahaere, kōwhiringa "whakaora" i roto i te Btrfs, tautoko mo te whakamunatanga rōraina i roto i te ext4 me te F2FS.

Kei roto i te putanga hou nga whakatikatika 16074 mai i nga kaihanga 2011,
te rahi o te papaki - 62 MB (nga huringa i pa ki nga konae 14548, 782155 nga rarangi waehere kua taapirihia, 314792 nga rarangi kua mukua). Tata ki te 45% o te katoa i whakaatuhia i te 5.9
Ko nga huringa e pa ana ki nga taraiwa taputapu, tata ki te 15% o nga huringa
te whakaaro ki te whakahou i te waehere motuhake mo nga hoahoanga taputapu, 13%
e pa ana ki te puranga whatunga, 3% ki nga punaha konae me te 3% ki roto
nga punaha iti kernel.

Main nga mahi auaha:

  • Mahara me nga ratonga punaha
    • Whakapikitia he whakamarumaru ki te whakamahi i nga paparanga GPL mo te hono i nga taraiwa rangatira me nga waahanga kernel ka kaweake noa mo nga waahanga i raro i te raihana GPL. Ko te haki TAINT_PROPRIETARY_MODULE kua riro i naianei ki nga waahanga katoa e kawemai ana i nga tohu mai i nga waahanga me tenei haki. Mena ka ngana tetahi kōwae GPL ki te kawemai tohu mai i te kōwae kore-GPL, ka riro i taua kōwae GPL te tapanga TAINT_PROPRIETARY_MODULE, ā, ka kore e taea e ia te uru ki nga waahanga kernel e waatea ana ki nga kōwae raihana-GPL anake, ahakoa kua kawemai te kōwae i nga tohu mai i mua. te kāwai "gplonly". Ko te raka whakamuri (he kaweake EXPORT_SYMBOL_GPL anake i roto i nga waahanga i kawemai EXPORT_SYMBOL_GPL), ka taea te wawahi i nga mahi a nga taraiwa rangatira, kaore i te whakatinanahia (ko te haki o te waeine anake te mea tuku iho, engari kaua ko nga herenga GPL).
    • Kua tapirihia tautoko engine kcompactd mo i mua i te tarapi i nga wharangi mahara kei te papamuri hei whakanui ake i te maha o nga wharangi mahara nui e waatea ana ki te kernel. E ai ki nga whakatau tata, ka taea e te kohinga papamuri, he iti noa te utu, ka taea te whakaiti i nga whakaroa i te wa e tohatoha ana i nga wharangi mahara nui (wharangi-nui) ma te 70-80 nga wa ka whakaritea ki te taputapu whakangao i whakamahia i mua, ka whakarewahia ina puta te hiahia (i runga i te tono. ). Hei tautuhi i nga rohe o te wehewehenga o waho ka tukuna e kcompactd, kua taapirihia te sysctl vm.compaction_proactiveness.
    • Kua tapirihia tautoko mo te kopeke whakaahua kernel ma te whakamahi i te algorithm Paerewa (zstd).
    • Kua whakatinanahia te tautoko mo nga tohutohu tukatuka mo nga punaha x86 FSGSBASE, ka taea e koe te panui me te whakarereke i nga ihirangi o nga rehita FS/GS mai i te waahi kaiwhakamahi. I roto i te kernel, ka whakamahia te FSGSBASE ki te tere ake i nga mahi whakawhiti horopaki ma te whakakore i nga mahi tuhi MSR kore e tika ana mo GSBASE, a, i te waahi kaiwhakamahi ka karohia e ia nga waea punaha kore e tika ki te whakarereke i te FS/GS.
    • Kua tapirihia te tawhā "allow_writes" ka taea e koe te aukati i nga huringa ki nga rehita MSR o te kaitukatuka mai i te waahi kaiwhakamahi me te aukati i te uru ki nga ihirangi o enei rehita ki te panui i nga mahi, na te mea ko te whakarereke i te MSR ka raru pea. Ma te taunoa, kaore ano kia monokia te tuhi, ka kitea nga huringa ki te MSR i roto i te raarangi, engari i te wa kei te heke mai ka whakamaherehia kia huri te uru taunoa ki te aratau panui-anake.
    • Ki te atanga I/O tukutahi io_uring Kua taapirihia he tautoko katoa mo nga mahi panui karekau e hiahiatia ana he miro kernel. Ko te tautoko mo te rekoata e tumanakohia ana i roto i te tukunga a meake nei.
    • I roto i te wa mutunga o te I/O whakatinana whakamahere i runga i te kaha, tuku whakatau tika i runga i nga punaha hangarite penei i nga punaha ARM DynamIQ me te nui.LITTLE, e whakakotahi ana i nga puku PTM kaha me te iti ake te kaha ki roto i te maramara kotahi. Ina koa, ko te aratau hou ka taea e koe te karo i te whakahōtaka i nga hē i te mea karekau he rauemi tika a te matua PTM puhoi hei whakaoti i tetahi mahi i runga i te waa.
    • Ko te tauira kohi hiko i roto i te pata (Anga Tauira Hinengaro) ko naianei whakaahua ehara i te mea ko te mahi kohi hiko PTM anake, engari ka kapi hoki i nga taputapu peripheral.
    • Kua whakatinanahia te waea punaha close_range() kia taea ai e tetahi tukanga te kati i te whānuitanga katoa o nga kaiwhakaahua konae tuwhera i te wa kotahi.
    • Mai i te whakatinanatanga o te papatohu kuputuhi me te taraiwa fbcon tangohia te waehere, e whakarato ana i te kaha ki te huri i te tuhinga ki muri (CONFIG_VGACON_SOFT_SCROLLBACK) ma te nui ake o te mahara ataata aratau kupu VGA.
    • I hoahoa ano algorithm mo te tautapa i nga kaupapa matua ki nga miro i roto i te pata. Ko te kowhiringa hou he pai ake te riterite puta noa i nga puunaha iti kernel i te wa e tautapa ana nga kaupapa matua ki nga mahi wa-tūturu.
    • Kua taapirihia te sysctl sched_uclamp_util_min_rt_default ki te whakahaere i nga tautuhinga whakanui PTM mo nga mahi tuuturu (hei tauira, ka taea e koe te whakarereke i te whanonga o nga mahi tuuturu i runga i te rere ki te whakaora i te hiko i muri i te huri ki te hiko hiko, ki nga punaha pūkoro ranei).
    • Kua whakaritea nga whakaritenga ki te whakatinana i te tautoko mo te hangarau Transparent Huge Pages i roto i te keteroki wharangi.
    • Ka whakatinanahia e te miihini fanotify nga haki hou FAN_REPORT_NAME me FAN_REPORT_DIR_FID ki te whakaatu i te ingoa matua me nga korero FID ahurei ina puta nga kaupapa hangahanga, mukua, nekenekehanga ranei mo nga taonga whaiaronga me nga mea kore-whaiaronga.
    • Mo nga roopu c whakatinana he kaiwhakahaere mahara papa hou, he mea rongonui mo te neke i te kaute papa mai i te taumata wharangi mahara ki te taumata ahanoa kernel, e taea ai te tiritiri i nga wharangi papa ki roto i nga roopu c rereke, hei utu mo te tohatoha keteroki papa mo ia cgroup. Ko te huarahi e whakaarohia ana ka taea te whakanui ake i te pai o te whakamahi i te papa, te whakaiti i te rahi o te mahara e whakamahia ana mo te papa ma te 30-45%, ka tino whakaitihia te paunga mahara o te kernel me te whakaiti i te wehenga mahara.
    • I roto i te punaha oro ALSA и tāpae USB, e ai ki katahi ano ka tangohia nga taunakitanga mo te whakamahi i nga kupu whakauru i roto i te kakano Linux; kua horoia nga kupu torangapu. Kua whakakorehia te waehere i nga kupu "pononga", "master", "pango" me "whitelist".
  • Mariko me te Haumarutanga
    • I te wa e hanga ana te kernel ma te whakamahi i te Clang compiler puta mai te kaha ki te whirihora (CONFIG_INIT_STACK_ALL_ZERO) te arawhiti aunoa ki te kore o nga taurangi katoa e rongoa ana ki te puranga (i te wa e hanga ana, tohua "-ftrivial-auto-var-init=zero").
    • I roto i te punaha seccomp, i te wa e whakamahi ana i te aratau mana whakahaere i te waahi kaiwhakamahi, tāpirihia faingamālie te whakakapinga o nga kaiwhakaahua konae ki roto i te tukanga e aro turukihia ana ki te whai i nga waea punaha e arahi ana ki te hanga o nga kaiwhakaahua konae. Kei te tonohia te mahi i roto i nga punaha ipu motuhake me nga mahi pouaka kirikiri mo Chrome.
    • Mo nga hoahoanga xtensa me csky, kua taapirihia te tautoko mo te whakaiti i nga waea punaha ma te whakamahi i te punaha-roto seccomp. Mo te xtensa, ka whakatinanahia te tautoko mo te tikanga arotake.
    • Kua tapirihia kara kaha hou CAP_CHECKPOINT_RESTORE, e taea ai e koe te uru atu ki nga kaha e pa ana ki te whakatio me te whakaora i te ahua o nga mahi me te kore e whakawhiti atu i nga painga.
    • Ka whakaratohia e GCC 11 nga ahuatanga katoa e hiahia ana koe
      taputapu patuiro KCSAN (Kernel Concurrency Sanitizer), i hangaia kia kitea nga ahuatanga iwi i roto i te pata. No reira, ka taea te whakamahi a KCSAN me nga kakano i hangaia ki te GCC.

    • Mo AMD Zen me nga tauira CPU hou ake tāpirihia tautoko mo te hangarau P2PDMA, ka taea e koe te whakamahi i te DMA mo te whakawhiti raraunga tika i waenga i te mahara o nga taputapu e rua e hono ana ki te pahi PCI.
    • Kua taapirihia he aratau ki te dm-crypt e taea ai e koe te whakaiti i te roanga ma te mahi i te tukatuka raraunga cryptographic me te kore e whakamahi i nga rarangi mahi. He tika hoki tenei aratau mo te mahi tika me kua rohea nga taputapu poraka (nga taputapu me nga waahi me tuhi raupapa, me te whakahou i te roopu poraka katoa). Kua mahia nga mahi ki te whakanui ake i te urunga me te whakaheke i te waahi i roto i te dm-crypt.
    • Kua tangohia te waehere hei tautoko i nga manuhiri moka-32 e rere ana i roto i te aratau paravirtualization e whakahaere ana i te Xen hypervisor. Ko nga kaiwhakamahi o enei punaha me huri ki te whakamahi i nga kakano 64-bit i roto i nga taiao manuhiri, ki te whakamahi ranei i nga aratau mariko katoa (HVM), whakakotahi ranei (PVH) hei utu mo te paravirtualization (PV) hei whakahaere i nga taiao.
  • Punaharoto kōpae, I/O me nga punaha konae
    • I runga i te punaha konae Btrfs whakatinana he "whakaoranga" kōwhiringa maunga e whakakotahi ana i te uru ki etahi atu whiringa whakaora. Ko te tautoko mo nga whiringa "alloc_start" me "subvolrootid" kua tangohia, kua whakakorehia te waahanga "inode_cache". Kua mahia nga arotautanga mahi, ina koa ko te tere o te mahi o nga mahi fsync(). Kua tapirihia te kaha ki te whakamahi momo momo arowhai i tua atu i te CRC32c.
    • Kua tapirihia te kaha ki te whakamahi i te whakamunatanga roraina (Whakamuna Raina) i roto i nga punaha konae ext4 me F2FS, kia taea ai te tuku i te "whakamuna-roto" te kowhiringa maunga. Ko te aratau whakamunatanga rora ka taea e koe te whakamahi i nga tikanga whakamunatanga i hangaia ki roto i te mana puku, e whakamuna ana me te wetewete i te whakauru/putanga.
    • I roto i te XFS whakapumau te tautuhi inode (marama) i roto i te aratau tukutahinga kore e aukati i nga tukanga i te wa e mahi ana i te mahi horoi mahara. Kua whakatauhia he take mootiti kua roa nei i hee te whai i nga whakatupato teiti me te aukati inode. Te whakatinanatanga kotahi o te tautoko DAX mo te ext4 me te xfs.
    • I roto i te Ext4 whakatinana te utaina i mua i nga mahere toha paraka. Ka honoa me te whakawhäiti i te matawai o nga roopu kaore ano kia mohiohia, ka whakaitihia e te arotautanga te wa e tika ana ki te whakauru i nga waahanga nui rawa atu.
    • I roto i te F2FS kua taapirihia ioctl F2FS_IOC_SEC_TRIM_FILE, ka taea e koe te whakamahi i nga whakahau TRIM/whakatakahia ki te tautuhi-a-tinana i nga raraunga kua tohua i roto i te konae, hei tauira, ki te whakakore i nga taviri uru me te kore e waiho he toenga raraunga ki te puku.
      I roto i te F2FS hoki kua taapirihia aratau kohinga para hou GC_URGENT_LOW, he kaha ake te mahi ma te whakakore i etahi arowhai mo te noho mangere i mua i te tiimata o te kaikohi paru.

    • I roto i te bcache, kua whakanuia te rahi o te peere mo nga whanui mai i te 16 ki te 32 moka hei whakarite mo te whakaahei i nga keteroki taputapu kua tohua.
    • Ko te kaha ki te whakamahi i te whakamunatanga roraina i runga i te whakamunatanga taputapu i hangaia e nga kaiwhakahaere UFS kua taapirihia ki te punaha-roto SCSI (Penapena Flash Universal).
    • He tawhā raina whakahau hou "debugfs" kua taapirihia, ka taea e koe te whakahaere i te waatea o te pseudo-FS o taua ingoa.
    • Ko te kiritaki NFSv4.2 he tautoko mo nga huanga o te konae (xattr).
    • I roto i te dm-puehu kua taapirihia atanga mo te whakaatu i te wa kotahi te rarangi o nga poraka kino katoa kua tautuhia i runga i te kōpae ("dmsetup message dust1 0 listbadblocks").
    • Mo te md/raid5, kua taapirihia te tawhā /sys/block/md1/md/stripe_size hei whirihora i te rahi paraka STRIPE.
    • Mo nga taputapu rokiroki NVMe tāpirihia tautoko mo nga whakahau roherohenga puku (ZNS, NVM Express Zoned Namespace), ka taea e koe te wehewehe i te waahi rokiroki ki nga rohe e hanga ana i nga roopu poraka mo te tino mana whakahaere mo te whakaurunga o nga raraunga ki runga i te puku.
  • Pūnaharoto whatunga
    • I roto i te Netfilter tāpirihia te kaha ki te whakakore i nga paakete i te atamira i mua i te tirotiro ararere (ka taea te whakamahi i te korero REJECT inaianei kaua i roto i nga mekameka INPUT, FORWARD me OUTPUT anake, engari i te waahi PREROUTING mo te icmp me te tcp).
    • I roto i nga nfttables tāpirihia te kaha ki te arotake i nga kaupapa e pa ana ki nga huringa whirihoranga.
    • I roto i nga nftables i te netlink API tāpirihia tautoko mo nga mekameka ingoamuna, ko te ingoa o aua mea kua tohua e te kernel. Ina mukua e koe tetahi ture e hono ana ki tetahi mekameka ingoamuna, ka mukua aunoatia te mekameka.
    • Ka taapirihia e te BPF te tautoko mo nga kaitoro ki te hikoi, ki te tātari, ki te whakarereke i nga huānga o nga rarangi hono (mapi) me te kore e kape i nga raraunga ki te waahi kaiwhakamahi. Ka taea te whakamahi Iterators mo nga turanga TCP me te UDP, ka taea e nga kaupapa BPF te huri ki runga i nga rarangi o nga turanga tuwhera me te tango i nga korero e hiahiatia ana mai i a raatau.
    • Kua taapirihia he momo kaupapa BPF hou BPF_PROG_TYPE_SK_LOOKUP, ka whakarewahia i te wa e rapu ana te kernel i tetahi turanga whakarongo pai mo tetahi hononga taumai. Ma te whakamahi i te kaupapa BPF penei, ka taea e koe te hanga kaihautu e whakatau ana ko tehea turanga te hono me hono atu, me te kore e herea e te waea punaha here (). Hei tauira, ka taea e koe te hono i te turanga kotahi me te whānuitanga o nga wahitau, tauranga ranei. I tua atu, kua taapirihia te tautoko mo te haki SO_KEEPALIVE ki te bpf_setsockopt() me te kaha ki te whakauru i nga kaihautu BPF_CGROUP_INET_SOCK_RELEASE, ka karangahia ka tukuna te turanga, kua whakatinanahia.
    • Kua whakatinanahia te tautoko kawa PRP (Parallel Redundancy Protocol), e taea ai te huri-a-Itarangi ki te hongere taapiri, maamaa mo nga tono, mena ka taka nga waahanga whatunga.
    • Tāpae mac80211 tāpirihia tautoko mo te wha-waahanga WPA/WPA2-PSK whiriwhiringa hongere i roto i te aratau tohu uru.
    • Kua taapirihia te kaha ki te huri i te qdisc (tuira akona) kaihōtaka ki te whakamahi i te FQ-PIE (Flow Queue PIE) whatunga whakahaere aa-tauarangi algorithm ma te taunoa, e whai ana ki te whakaiti i te paanga kino o te paatete paatete takawaenga ki nga taputapu whatunga taha (bufferbloat) i roto i nga whatunga me pouwhanga taura.
    • Kua taapirihia nga ahuatanga hou ki te MPTCP (MultiPath TCP), nga toronga o te kawa TCP mo te whakarite i te mahi o te hononga TCP me te tukunga o nga paatete i te wa kotahi i runga i nga huarahi maha ma nga hononga whatunga rereke e hono ana ki nga wahitau IP rereke. He tautoko taapiri mo te pihikete syn, DATA_FIN, te whakaraerae-aunoa, te taatai ​​​​turanga, me nga haki REUSEADDR, REUSEPORT, me V6ONLY i te setsockopt.
    • Mo nga ripanga ararere mariko VRF (Virtual Routing and Forwarding), e taea ai te whakahaere i te maha o nga rohe ararere i runga i te punaha kotahi, kua whakatinanahia te aratau "kaha". I tenei aratau, ka taea anake te hono te ripanga mariko ki te ripanga ararere karekau e whakamahia ki etahi atu ripanga mariko.
    • Ko te taraiwa ahokore he ath11k tāpirihia tautoko 6GHz auau me matawai matawai.
  • Tuhinga
    • I tangohia te waehere hei tautoko i te hoahoanga UniCore, i whakawhanakehia i te Microprocessor Center o te Whare Wananga o Peking, ka whakauruhia ki roto i te kernel Linux i te tau 2011. Ko tenei hoahoanga kaore i tiakina mai i te tau 2014, kaore he tautoko i te GCC.
    • Kua whakatinanahia te tautoko mo te hoahoanga RISC-V kcov (atanga debugfs mo te wetewete i te kapinga waehere kernel), kmemleak (pūnaha whakamaumahara turuturu), te whakamaru i te taapu, nga tohu peke me nga mahi koretake (he maha nga mahi motuhake i nga tohu taima).
    • Mo te hoahoanga PowerPC, kua whakatinanahia te tautoko mo nga rarangi hurihuri, kua tino pai ake te mahi i roto i nga ahuatanga pakanga maukati.
    • Mo nga hoahoanga ARM me te ARM64, ka whakahoehia te tikanga whakahaere auau tukatuka ma te taunoa wātaka (kawana cpufreq), e whakamahi tika ana i nga korero mai i te kaihōtaka mahi ki te whakatau i te huri i te auau, ka taea tonu te uru atu ki nga taraiwa cpufreq kia tere te huri i te auau, me te whakatika tonu i nga tawhā whakahaere PTM ki te kawenga o naianei.
    • Ko te taraiwa i915 DRM mo nga kaari whakairoiro Intel he tautoko mo nga maramara i runga i te microarchitecture Roto Raka me te taapiri tautoko tuatahi mo nga kaari motuhake Intel Xe DG1.
    • I taapirihia e te taraiwa Amdgpu te tautoko tuatahi mo nga GPU AMD Navi 21 (Navy Flounder) me Navi 22 (Sienna Cichlid). He tautoko taapiri mo te whakawaehere ataata UVD/VCE me nga miihini whakatere wetewete mo te GPU o nga Moutere o te Tonga (Radeon HD 7000).
      Kua taapirihia he taonga hei huri i te whakaaturanga ma te 90, 180, 270 ranei nga nekehanga.

      He mea whakamiharo, ko te taraiwa mo te AMD GPU ko te reira te taraiwa nui rawa atu i roto i te kakano - he tata ki te 2.71 miriona rarangi waehere, he 10% o te rahi o te kakano katoa (27.81 miriona rarangi). I te wa ano, 1.79 miriona nga rarangi e kiia ana e nga konae pane i hangaia aunoa me nga raraunga mo nga rehita GPU, a ko te waehere C ko 366 mano nga rarangi (mo te whakataurite, ko te taraiwa Intel i915 kei roto i te 209 mano nga rarangi, me te Nouveau - 149 mano).

    • I Nouveau taraiwa tāpirihia tautoko mo te anga-a-anga te arowhai i te tapatahi ma te whakamahi CRC (Nga Tirohanga Huringa Hurihuri) i roto i nga miihini whakaatu NVIDIA GPU. Ko te whakatinanatanga kei runga i nga tuhinga e whakaratohia ana e NVIDIA.
    • He taraiwa taapiri mo nga panui LCD: Frida FRD350H54004, KOE TX26D202VM0BWA, CDTech S070PWS19HP-FC21, CDTech S070SWV29HG-DC44, Tianma TM070JVHG33 me Xingbangda XBD599.
    • Kei te tautoko te punaha ororongo ALSA Intel Wahangu Stream (te aratau hiko tonu mo nga taputapu HDMI o waho hei whakakore i te whakaroa i te wa e timata ana te purei) me taputapu hou hei whakahaere i te whakamaramatanga o te whakahoahoa hopuoro me nga patene wahangu, me te taapiri tautoko mo nga taputapu hou, tae atu ki te kaiwhakahaere. Longson 7A1000.
    • He tautoko taapiri mo nga papa ARM, nga taputapu me nga papaahi: Pine64 PinePhone v1.2, Lenovo IdeaPad Duet 10.1, ASUS Google Nexus 7, Acer Iconia Tab A500, Qualcomm Snapdragon SDM630 (i whakamahia i Sony Xperia 10, 10 Plus, XA2, XA2 Plus me XA2 Ultra), Jetson Xavier NX, Amlogic WeTek Core2, Aspeed EthanolX, e rima nga papa hou i runga i te NXP i.MX6, MikroTik RouterBoard 3011, Xiaomi Libra, Microsoft Lumia 950, Sony Xperia Z5, MStar, Microchip Sparx5, Intel Keem Bay, Amazon Alpine v3, Renesas RZ/G2H.

I taua wa ano, ko te Latin American Free Software Foundation hanga
kōwhiringa kakano tino kore utu 5.9 - Linux-pukapuka 5.9-gnu, kua whakakorehia nga waahanga miihini me nga taraiwa kei roto i nga waahanga kore-kore, i nga waahanga waehere ranei, ko te waahanga he iti noa e te kaiwhakanao. Ka whakakorehia e te tukunga hou te uta i te pupuhi ki nga taraiwa mo WiFi rtw8821c me SoC MediaTek mt8183. I whakahouhia te waehere horoi i roto i te Habanalabs, Wilc1000, amdgpu, mt7615, i915 CSR, Mellanox mlxsw (Spectrum3), r8169 (rtl8125b-2) me te x86 nga taraiwa mata pa me nga punaha iti.

Source: opennet.ru

Tāpiri i te kōrero