I muri i nga marama e rua o te whanaketanga, ko Linus Torvalds whakaurua tuku kernel Linux 5.6. I roto i nga huringa tino rongonui: te whakaurunga o te atanga WireGuard VPN, te tautoko mo te USB4, nga ingoa mokowhiti mo te wa, te kaha ki te hanga i nga kaikawe putunga TCP ma te whakamahi i te BPF, te tautoko tuatahi mo te MultiPath TCP, te whakakore i te kernel o te raru 2038, te tikanga "bootconfig". , ZoneFS.
Kei roto i te putanga hou 13702 whakatika mai i nga kaiwhakawhanake 1810,
te rahi o te papaki - 40 MB (nga huringa i pa 11577 konae, 610012 rarangi waehere i taapirihia,
294828 nga rarangi i tangohia). Tata ki te 45% o te katoa i whakaatuhia i te 5.6
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, 12%
e hono ana ki te puranga whatunga, 4% ki nga punaha konae me te 3% ki roto
nga punaha iti kernel.
Kua tapirihia whakatinanatanga o te atanga VPN WireGuard, ka whakatinanahia i runga i nga tikanga whakamunatanga hou (ChaCha20, Poly1305, Curve25519, BLAKE2s), he ngawari ki te whakamahi, kaore he raruraru, kua whakamatauhia i roto i te maha o nga whakatinanatanga nui me te whakarato i nga mahi tino nui (3,9 nga wa tere atu i te OpenVPN i roto i nga tikanga. o te whakaputanga). Ka whakamahi a WireGuard i te ariā o te ararere matua whakamunatanga, e uru ana ki te whakapiri i tetahi kii motuhake ki ia atanga whatunga me te whakamahi hei here i nga kii a te iwi. Ka whakawhitihia nga taviri a te iwi ki te whakarite hononga kia rite ki te SSH. Ko nga tikanga o mua mo te mahi a WireGuard kokawea atu mai i te whare pukapuka konutea hei waahanga o te Crypto API paerewa me te whakauru ki roto ki te matua 5.5.
I tiimata te whakaurunga o nga waahanga e tika ana hei tautoko i te MPTCP (MultiPath TCP), he 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. Mo nga tono whatunga, he rite te ahua o taua hononga whakahiato ki te hononga TCP auau, a ko nga arorau wehenga rere katoa ka mahia e te MPTCP. Ka taea te whakamahi TCP Multipath ki te whakanui ake i te whakaputanga me te whakapiki i te pono. Hei tauira, ka taea te whakamahi MPTCP ki te whakarite i te tuku raraunga ki runga waea atamai ma te whakamahi i nga hononga WiFi me te 4G i te wa kotahi, hei whakaiti ranei i nga utu ma te hono i tetahi tūmau ma te whakamahi i etahi hononga iti hei utu mo te kotahi utu nui.
Kua tapirihia tautoko mo te raupapa tukatuka raupapa whatunga sch_ets (Whakanuia te Whiriwhiringa Whakawhiti, IEEE 802.1Qaz), e whakarato ana i te kaha ki te tohatoha i te bandwidth i waenga i nga momo momo waka. Mēnā kei raro iho te uta o tētahi akomanga waka i te hōkaiipurangi kua tohatohahia, ka whakaaetia e te ETS etahi atu akomanga waka ki te whakamahi i te bandwidth e waatea ana (kaore i whakamahia). Kua whirihorahia a Qdisc sch_ets hei whiunga PRIO me te whakamahi i nga karaehe waka ki te tautuhi i nga rohe whanui me te tiritahi. Ka mahi a ETS hei huinga o nga marautanga PRIO и DRR — mena he iti noa nga karaehe waka, ka whakamahia te PRIO, engari mena kaore he waka i roto i te rarangi, ka rite ki te DRR.
Kua taapirihia he momo kaupapa BPF hou BPF_PROG_TYPE_STRUCT_OPS, ka taea e koe te whakatinana i nga kaikawe mahi kernel ma te BPF. I tenei wa, ka taea te whakamahi i tenei waahanga ki te whakatinana i nga huringa whakahaere a te TCP i roto i te ahua o nga kaupapa BPF. Hei tauira whakaarohia Te kaupapa BPF me te whakatinana algorithm DCTCP.
Ka whakaaetia ki roto i te uho huringa, taputapu whakamaori matawai me te ioctl() hei whakamahi atanga netlink. Ko te atanga hou he maamaa ake te taapiri i nga taapiri, te whakapai ake i te whakahaere hapa, te tuku whakamohiotanga ina huri te kawanatanga, ka ngawari te taunekeneke i waenga i te kernel me te mokowā kaiwhakamahi, me te whakaiti i te maha o nga rarangi ingoa e tika ana kia tukutahi.
Kua taapirihia te whakaurunga o te FQ-PIE (Flow Queue PIE) i roto i te whatunga o te rarangi whakahaere algorithm, e whai ana ki te whakaiti i te paanga kino o te paatete paatete takawaenga ki nga taputapu whatunga taha (bufferbloat). Ko te FQ-PIE e whakaatu ana i te tino pai ina whakamahia i roto i nga punaha me nga pouwhanga taura.
Punaharoto kōpae, I/O me nga punaha konae
Mo te punaha konae Btrfs tāpirihia whakatinanatanga tukutahi o te mahi DISCARD (te tohu i nga poraka kua wetekina e kore e tika kia penapena tinana). I te tuatahi, i mahia nga mahi DISCARD i te wa kotahi, tera pea ka paheke te mahi na te puku e tatari ana kia oti nga whakahau e rite ana. Ko te whakatinanatanga tukutahi ka taea e koe kia kaua e tatari mo te puku ki te whakaoti i te DISCARD me te mahi i tenei mahi ki muri.
I roto i te XFS i mahia Te horoi i te waehere i whakamahi i nga porotiti wa moka-32 tawhito (kua whakakapihia te momo time_t e te time64_t), ka puta te raruraru 2038. Kua whakatikahia nga hapa me te pirau mahara i puta i runga i nga papaaho 32-bit. Kua mahi ano te waehere ki te mahi me nga huanga roa.
Ki te punaha kōnae ext4 whakauruhia Nga arotautanga mahi e pa ana ki te whakahaere i te maukati inode i te waa panui me te tuhi. Kua pai ake te mahi tuhi i roto i te aratau I/O Direct. Hei whakangawari i te tātaritanga o nga raru, ka penapena nga waehere hapa tuatahi me te whakamutunga ki te superblock.
I runga i te punaha konae F2FS whakatinana te kaha ki te rokiroki raraunga i roto i te ahua kōpeke. Mo te kōnae takitahi, whaiaronga ranei, ka taea te whakaahei i te kōpeketanga ma te whakamahi i te whakahau "chattr +c file" ranei "chattr +c dir; pa ki dir/file". Hei kopiri i te waahanga katoa, ka taea e koe te whakamahi i te "-o compress_extension=ext" kōwhiringa i roto i te taputapu maunga.
Kei roto i te kernel he punaha konae RoheFS, e whakamaarama ana i nga mahi taumata-iti me nga taputapu rokiroki roherohe. Ko nga puku roherohe ko nga taputapu kei runga i nga kōpae autō pakeke, i te NVMe SSDs ranei, te waahi rokiroki ka wehewehea ki nga rohe e hanga ana i nga roopu poraka, waahanga ranei, ka whakaaetia te taapiri raupapatanga o nga raraunga, me te whakahou i te roopu poraka katoa. I whakawhanakehia a FS ZoneFS e Western Digital me te hono i ia rohe i roto i te puku me tetahi konae motuhake ka taea te whakamahi ki te penapena raraunga i roto i te aratau mata kaore he raweke i te waahanga me te taumata poraka, ara. Whakaaetia nga tono ki te whakamahi i te konae API hei utu mo te uru tika ki te taputapu paraka ma te whakamahi ioctl.
I roto i te NFS, ka whakakorehia nga waahanga whakapuru ki runga i te UDP ma te taunoa. He tautoko taapiri mo te kaha ki te kape tika i nga konae i waenga i nga kaitoro, kua tautuhia i roto i te tohu NFS 4.2. Kua taapirihia he waahanga "softreval" hou, ka taea te whakamahi i nga uara huanga keteroki ki te kore te kaimau. Hei tauira, i te wa e tohu ana i tenei waahanga, i muri i te kore e waatea te tūmau, ka taea tonu te neke haere i nga huarahi i roto i te wehenga NFS me te uru atu ki nga korero kua tau ki roto i te keteroki.
I mahia te arotautanga o te mahi a te tikanga fs-verity, whakamahia hei aro turuki i te pono me te whakamotuhēhēnga o ngā kōnae takitahi. Kua piki ake te tere panui raupapa na te whakamahi i te rakau Hash Merkle. Ko te mahinga o FS_IOC_ENABLE_VERITY kua arotauhia ina karekau he raraunga i roto i te keteroki (kua tonohia te panuitanga o nga wharangi whai raraunga).
Mariko me te Haumarutanga
Ko te kaha ki te whakakore i te kōwae SELinux i te wa e rere ana kua whakakorehia, ka whakakorehia te tango i te SELinux kua whakahohehia a muri ake nei. Hei whakakore i te SELinux ka hiahia koe ki te tuku i te tawhā "selinux=0" i runga i te raina whakahau kernel.
Kua tapirihia tautoko mo nga mokowā ingoa mo te wa (waahi ingoa mokowā), ka taea e koe te here i te ahua o te karaka punaha ki te ipu (CLOCK_REALTIME,
CLOCK_MONOTONIC, CLOCK_BOOTTIME), whakamahia to wa ake i roto i te ipu, a, i te hekenga o te ipu ki tetahi atu kaihautu, me whakarite kia noho tonu nga panui CLOCK_MONOTONIC me CLOCK_BOOTTIME (whakaarohia te wa i muri i te utaina, me te kore whakaaro kei roto i te aratau moe. ).
Kua tangohia te /dev/pokapu aukati tupurangi. He rite te whanonga o /dev/random ki te /dev/urandom mo te aukati i te aukati entropy i muri i te tiimatanga puna.
Kei roto i te kernel matua he taraiwa e taea ai e nga punaha manuhiri te whakahaere i a VirtualBox ki te whakairi i nga raarangi i kaweake e te taiao manaaki (VirtualBox Shared Folder).
Kua taapirihia he huinga papaki ki te punaha iti BPF (Kaituku BPF), i te wa e whakamahi ana i te tikanga Retpoline hei whakamarumaru mai i nga whakaeke a te karaehe Specter V2, ka taea e koe te whakanui ake i te kaha o te waea ki nga kaupapa BPF ina puta nga huihuinga e pa ana ki a raatau (hei tauira, ka taea te tere ake te waea o nga kaikawe XDP ina he kua tae mai te kete whatunga).
He taraiwa taapiri hei tautoko i te TEE (Taiao Whakatupato Whakapono) i hangaia ki roto i nga APU AMD.
Mahara me nga ratonga punaha
Kua taapirihia e te BPF te tautoko mo nga mahi o te ao. Kei te whakahaeretia te whanaketanga hei waahanga o te kaupapa ki te taapiri tautoko mo nga whare pukapuka o nga mahi ka taea te whakauru ki nga kaupapa BPF. Ko te mahi ka whai ake ko te tautoko i nga toronga hihiri e tuku ana i nga mahi o te ao ki te utaina, tae atu ki te whakakapi i nga mahi o te ao i te wa e whakamahia ana. Ka taapirihia e te punaha iti BPF te tautoko mo tetahi momo mahi mapi (whakamahia ki te penapena raraunga tohe), e tautoko ana i te mahi i roto i te aratau puranga.
Kua tapirihia e Ko te taputapu "cpu_cooling" ka taea e koe te whakamatao i te PTM kua wera ma te tuu ki roto i te ahua mangere mo nga wa poto.
He waea punaha taapiri openat2(), e tuku ana i te huinga o nga haki taapiri hei whakawhāiti i te taumira ara konae (te aukati i te whakawhiti i nga tohu maunga, nga hononga tohu, nga hononga makutu (/proc/PID/fd), "../" nga waahanga).
Mo nga punaha rerekee i runga i te hoahoanga nui.LITTLE, te whakakotahi i nga uho PTM kaha me te iti ake te kaha ki roto i te maramara kotahi, ka whakatauhia te tawhā uclamp_min i te wa e mahi ana i nga mahi-waa (i puta kei roto i te kernel 5.3 he tikanga mo te pupuri i te uta). Ko tenei tawhā ka whakarite ka tukuna te mahi e te kaihōtaka ki runga i te matua PTM e tika ana te mahi.
Ka wetekina te kakano mai nga raruraru o 2038. I whakakapihia nga kaihautu whakamutunga e toe ana, i whakamahi i te momo 32-bit (int int) momo time_t mo te porotiti wa epochal, e mahara ana ki te purongo mai i te tau 1970, me puhake i te tau 2038.
Te whakapai tonutanga o te atanga I/O tukutahi io_uring, kei roto whakaratohia tautoko mo nga mahi hou: IORING_OP_FALLOCATE (rahui mo nga waahi kau), IORING_OP_OPENAT,
IORING_OP_OPENAT2,
IORING_OP_CLOSE (whakatuwhera me te kati i nga konae),
IORING_OP_FILES_UPDATE (te taapiri me te tango i nga konae mai i te rarangi uru tere),
IORING_OP_STATX (tono korero kōnae),
IORING_OP_READ,
IORING_OP_WRITE (nga tauritenga ngawari o IORING_OP_READV me IORING_OP_WRITEV),
IORING_OP_FADVISE,
IORING_OP_MADVISE (nga rereke tukutahi o nga waea posix_fadvise me madvise), IORING_OP_SEND,
IORING_OP_RECV (tuku me te whiwhi raraunga whatunga),
IORING_OP_EPOLL_CTL (whakamahia i runga i nga kaiwhakaahua konae epoll).
He waea punaha taapiri pidfd_getfd(), ka tuku i tetahi tukanga ki te tiki i tetahi kaiwhakaahua konae mo tetahi konae tuwhera mai i tetahi atu tukanga.
Kua whakatinanahia te tikanga "bootconfig", ka taea, hei taapiri i nga whiringa raina whakahau, ki te whakatau i nga tawhā o te kernel ma te konae tautuhinga. Hei taapiri i enei konae ki te ahua initramfs, ka whakaarohia te taputapu bootconfig. Ka taea te whakamahi i tenei ahuatanga, hei tauira, ki te whirihora i nga kprobes i te wa whakaoho.
I hoahoa ano he tikanga mo te tatari mo te tuhi me te panui raraunga i roto i nga paipa kore ingoa. Na te panonitanga i tere ake ai nga mahi penei i te whakarara whakarara o nga kaupapa nunui. Heoi, ka taea e te arotautanga te arai ki tetahi ahuatanga reihi i roto i te GNU hanga na te mea he pepeke i te tukunga 4.2.1, i whakatikahia i te putanga 4.3.
Kua taapirihia te haki PR_SET_IO_FLUSHER ki te prctl(), ka taea te whakamahi ki te tohu i nga tukanga mahara-kore e tika ana kia kore e herea ki nga rohe ina he iti te mahara o te punaha.
I runga i te punaha tohatoha mahara ION i whakamahia i roto i te Android, kua whakatinanahia he punaha iti dma-buf puranga, ka taea e koe te whakahaere i te tohatoha o te DMA buffers mo te tiri i nga waahi mahara i waenga i nga taraiwa, nga tono me nga momo punaha iti.
Hangahanga taputapu
He tautoko taapiri mo te toronga E0PD, i puta mai i te ARMv8.5 ka taea te whakamarumaru mai i nga whakaeke e pa ana ki te whakatinanatanga o nga tohutohu i runga i te PTM. Ko te whakamarutanga a-E0PD he iti ake te whakamarumaru o runga ake i te whakamarumaru KPTI (Kernel Page Ripanga Wehenga).
Mo nga punaha e pa ana ki te hoahoanga ARMv8.5, kua taapirihia te tautoko mo te ako RNG, e whai waahi ana ki tetahi taputapu hangahanga nama pseudo-tupurangi. I roto i te pata, ka whakamahia te tohutohu RNG ki te whakaputa i te entropy i te wa e arawhiti ana i te kaihanga tau pseudo-tupurangi.
Kua tangohia te tautoko mo te MPX (Whakaaronga Whakamaru Mahara) kua taapirihia ki te pata 3.19 a ka taea e koe te whakarite i te arowhai i nga tohu tohu kia mohio ai ka whakamanahia nga rohe o nga waahi mahara. Ko tenei hangarau kaore i whakamahia nuitia i roto i te hunga whakahiato, i tangohia mai i te GCC.
Mo te hoahoanga RISC-V, kua whakatinanahia te tautoko mo te KASan (Kernel address sanitizer) taputapu patuiro, e awhina ana ki te tautuhi i nga hapa i te wa e mahi ana me te mahara.
Tuhinga
Kua whakatinanahia te tautoko whakaingoatanga 4.0 USB, e ahu mai ana i te kawa Thunderbolt 3 me te whakarato i te uru ki te 40 Gbps, me te pupuri i te hototahi whakamuri ki te USB 2.0 me te USB 3.2. Ma te whakataurite ki Thunderbolt Ko te atanga USB 4.0 ka taea e koe te tarai i nga kawa rereke ki runga i te taura kotahi me te hono Momo-C, tae atu ki te PCIe, Whakaaturanga Tauranga me te USB 3.x, me nga mahinga rorohiko o nga kawa, hei tauira, mo te whakarite hononga whatunga i waenga i nga ope. Ko te whakatinanatanga ka hangaia i runga i te taraiwa Thunderbolt kua whakauruhia ki roto i te kernel Linux ka urutau ki te mahi me nga kaihautu me nga taputapu USB4-hototahi. Ko nga huringa ka taapiri i te tautoko mo nga taputapu Thunderbolt 3 ki te whakatinanatanga rorohiko a te Kaiwhakahaere Hononga, kei a ia te kawenga mo te hanga huarahi mo te hono i nga taputapu maha ma te hono kotahi.
I roto i te taraiwa amdgpu tāpirihia tautoko tuatahi mo te hangarau tiaki kape HDCP 2.x (High-bandwidth Digital Content Protection). He tautoko taapiri mo te maramara AMD Pollock ASIC i runga i te Raven 2. I whakatinanahia te kaha ki te tautuhi i te GPU mo nga whanau Renoir me Navi.
Ko te taraiwa DRM mo nga kaari ataata Intel tāpirihia Ko te tautoko a DSI VDSC mo nga maramara i runga i te Ice Lake me te Tiger Lake microarchitecture, kua whakatinanahia te LMEM mmap (whakamaharatanga a-rohe taputapu), kua pai ake te VBT (Video BIOS Table), kua whakatinanahia te tautoko HDCP 2.2 mo nga maramara Coffee Lake.
I haere tonu te mahi ki te whakakotahi i te waehere taraiwa amdkfd (mo nga GPU motuhake, penei i Fiti, Tonga, Polaris) me te taraiwa amdgpu.
Ko te taraiwa k10temp kua mahi ano, e tautoko ana inaianei i te whakaputa ngaohiko me nga tawhā o naianei mo nga AMD Zen CPUs, me te whakawhānui ake i nga korero mai i nga pūoko pāmahana i whakamahia i roto i te Zen me te Zen 2 CPUs.
I roto i te taraiwa nouveau tāpirihia te tautoko mo te aratau utaina firmware kua whakamanahia mo nga NVIDIA GPU i runga i te Turing microarchitecture (GeForce RTX 2000), i taea ai te tautoko mo te whakatere 3D mo enei kaari (te tango i te firmware whaimana me te waitohu mamati NVIDIA e hiahiatia ana). He tautoko taapiri mo te miihini whakairoiro TU10x. Kua whakatauhia nga raru mo te Ororongo HD.
He tautoko taapiri mo te taapiri raraunga ka tukuna ma te WhakaatuPort MST (Kawe-a-Maama).
Kua taapirihia he taraiwa hou "atu11k» mo nga maramara ahokore Qualcomm e tautoko ana i te 802.11ax.
Ko te taraiwa kei runga i te puranga mac80211 me te tautoko i te waahi uru, te teihana mahi me nga aratau node whatunga mata.
Na roto i te sysfs, ka taea te uru atu ki nga panui pukoro pāmahana e whakamahia ana i runga i nga puku pakeke hou me nga SSD.
Kua tukuna huringa nui ki te pūnaha tangi ALSA, e whai ana ki te whakakore i te waehere o nga raruraru o 2038 (ka karo i te whakamahi i te momo 32-bit time_t i roto i nga atanga snd_pcm_mmap_status me snd_pcm_mmap_control). He tautoko taapiri mo nga kotēkē ororongo hou
Qualcomm WCD9340/WCD9341, Realtek RT700, RT711, RT715, RT1308, Ingenic JZ4770.
Kua tapirihia taraiwa mo nga panui LCD Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM940B0,
BOE NV140FHM-N49,
Satoz SAT050AT40H12R2,
Ko te koi LS020B1DD01D.
Kua tapirihia tautoko mo nga papa ARM me nga papaahi Gen1 Amazon Echo (OMAP3630-e ahu mai ana), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Free Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,
Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,
Tolino Shine 3 eBook reader,
Toi Whakamau COM (i.MX7ULP), SolidRun Clearfog CX/ITX me Honeycomb (LX2160A), Google Coral Edge TPU (i.MX8MQ),
Rockchip Radxa Dalang Kaikawe, Radxa Rock Pi N10, VMARC RK3399Pro SOM
ST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel/Microchip AM9X60 (ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703/AM3715/DM3725, ST Ericsson ab8505, Unisoc, SC9863A Qualcomm. He tautoko taapiri mo te kaiwhakahaere PCIe i whakamahia i roto i te Raspberry Pi 7180.
I taua wa ano, ko te Latin American Free Software Foundation hanga
kōwhiringa kakano tino kore utu 5.6 - Linux-pukapuka 5.6-gnu, kua whakawāteahia mai i te mārō me ngā huānga taraiwa kei roto i nga waahanga rangatira, i nga waahanga waehere ranei, ko te whānuitanga o enei mea he iti noa e te kaiwhakanao. Ko te tukunga hou ka whakakore i te uta i nga pupuhi i roto i nga taraiwa mo AMD TEE, ATH11K me Mediatek SCP. I whakahouhia te waehere horoi i roto i te AMD PSP, amdgpu me nga taraiwa hou me nga punaha iti.