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.
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āpirihiafaingamā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.
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.