Linux Kernel tso tawm 5.11

Tom qab ob lub hlis ntawm kev txhim kho, Linus Torvalds nthuav tawm qhov tso tawm ntawm Linux ntsiav 5.11. Ntawm cov kev hloov pauv tseem ceeb tshaj plaws: kev txhawb nqa rau Intel SGX enclaves, lub tshuab tshiab rau kev cuam tshuam kev hu xov tooj, lub tsheb npav virtual, txwv tsis pub sib sau cov modules yam tsis muaj MODULE_LICENSE(), kev lim dej nrawm rau kev hu xov tooj hauv seccomp, txiav tawm kev txhawb nqa rau ia64 architecture, hloov ntawm WiMAX thev naus laus zis mus rau "staging" ceg, muaj peev xwm encapsulate SCTP hauv UDP.

Tus tshiab version suav nrog 15480 kho los ntawm 1991 tus tsim tawm, thaj loj yog 72 MB (qhov kev hloov pauv cuam tshuam rau 12090 cov ntaub ntawv, 868025 kab ntawm cov lej tau ntxiv, 261456 kab raug tshem tawm). Txog 46% ntawm tag nrho cov kev hloov pauv tau qhia hauv 5.11 muaj feem cuam tshuam rau cov tsav tsheb, kwv yees li 16% ntawm cov kev hloov pauv cuam tshuam txog kev hloov kho cov cai tshwj xeeb rau cov khoom siv kho vajtse, 13% cuam tshuam nrog pawg network, 3% cuam tshuam nrog cov ntaub ntawv, thiab 4% muaj feem xyuam nrog cov kernel subsystems.

Main innovations:

  • Disk subsystem, I / O thiab cov ntaub ntawv systems
    • Ntau qhov kev xaiv mounting tau ntxiv rau Btrfs rau kev siv thaum rov kho cov ntaub ntawv los ntawm cov ntaub ntawv puas: "rescue = ignorebadroots" rau kev txhim kho, txawm tias kev puas tsuaj rau qee cov hauv paus ntoo (tshaj, uuid, cov ntaub ntawv reloc, ntaus ntawv, csum, qhov chaw dawb), " cawm = ignoredatacsums" los lov tes taw checksum rau cov ntaub ntawv thiab "rescue = tag nrho" rau ib txhij pab cov 'ignorebadroots', 'ignoredatacsums' thiab 'nologreplay' hom. Qhov "inode_cache" mount xaiv, uas yav tas los deprecated, tau raug txiav lawm. Cov cai tau npaj los siv kev txhawb nqa rau cov blocks nrog metadata thiab cov ntaub ntawv me dua li nplooj ntawv loj (PAGE_SIZE), nrog rau kev txhawb nqa rau zoned qhov chaw faib hom. Unbuffered (Direct IO) thov tau tsiv mus rau iomap infrastructure. Kev ua tau zoo ntawm ntau qhov kev ua haujlwm tau raug kho kom zoo; qee zaum, qhov nrawm tuaj yeem ncav cuag kaum feem pua.
    • XFS siv tus chij "needsrepair", uas qhia txog qhov yuav tsum tau kho. Thaum tus chij no tau teeb tsa, cov ntaub ntawv kaw lus tsis tuaj yeem txuas mus txog thaum tus chij rov pib dua los ntawm xfs_repair utility.
    • Ext4 tsuas yog muaj kev txhim kho kab laum thiab kev ua kom zoo, nrog rau cov lej ntxuav.
    • Re-export ntawm cov ntaub ntawv systems mounted tshaj NFS yog tso cai (piv txwv li ib tug muab faib mounted ntawm NFS tam sim no yuav exported ntawm NFS thiab siv raws li ib tug intermediate cache).
    • Close_range() system hu, uas tso cai rau cov txheej txheem kaw tag nrho cov ntaub ntawv qhib cov lus piav qhia ib zaug, tau ntxiv CLOSE_RANGE_CLOEXEC kev xaiv los kaw cov lus piav qhia hauv hom kaw-on-exec.
    • F2FS cov ntaub ntawv kaw lus ntxiv tshiab ioctl() hu kom tso cai rau cov neeg siv chaw tswj xyuas cov ntaub ntawv khaws cia hauv daim ntawv compressed. Ntxiv "compress_mode=" mount kev xaiv los xaiv seb puas yuav tso lub compression handler rau ntawm lub ntsiav sab lossis hauv qhov chaw siv.
    • Muab lub peev xwm los mount Overlayfs los ntawm cov txheej txheem tsis muaj cai siv cov npe siv cais. Txhawm rau txheeb xyuas qhov ua tau raws li kev siv tus qauv kev nyab xeeb, kev kuaj xyuas tag nrho tau ua tiav. Overlayfs kuj ntxiv lub peev xwm los khiav siv cov ntawv theej ntawm cov ntaub ntawv kaw lus dluab los ntawm kev xaiv qhov kev txiav txim siab UUID.
    • Ceph cov ntaub ntawv tau ntxiv kev txhawb nqa rau msgr2.1 raws tu qauv, uas tso cai rau siv AES-GCM algorithm thaum xa cov ntaub ntawv hauv daim ntawv encrypted.
    • dm-multipath module siv lub peev xwm los coj mus rau hauv tus account CPU affinity ("IO affinity") thaum xaiv txoj kev rau I / O thov.
  • Kev pabcuam nco thiab system
    • Lub kaw lus tshiab hu rau kev cuam tshuam mechanism tau raug ntxiv, raws li prctl(), uas tso cai rau koj los tsim kev zam los ntawm cov neeg siv qhov chaw thaum nkag mus rau ib qho kev hu xov tooj tshwj xeeb thiab ua raws li nws qhov kev ua tiav. Qhov kev ua haujlwm no yuav tsum muaj nyob rau hauv Wine thiab Proton los ua raws li Windows system hu, uas yog tsim nyog los xyuas kom meej kev sib raug zoo nrog cov kev ua si thiab cov kev pab cuam uas ncaj qha ua lub kaw lus hu bypassing Windows API (piv txwv li, tiv thaiv kev siv tsis raug cai).
    • Tus userfaultfd() system hu, tsim los tswj cov nplooj ntawv tsis raug ( nkag mus rau nplooj ntawv nco tsis tau) hauv cov neeg siv qhov chaw, tam sim no muaj peev xwm los lov tes taw tshwj xeeb tuav uas tshwm sim ntawm qib kernel kom nws nyuaj rau kev siv qee qhov tsis zoo.
    • BPF subsystem tau ntxiv kev txhawb nqa rau kev ua haujlwm hauv zos cia, uas muab cov ntaub ntawv khi rau ib tus neeg tuav BPF tshwj xeeb.
    • Kev txheeb xyuas ntawm kev siv lub cim xeeb los ntawm BPF cov kev pab cuam tau raug rov tsim dua tshiab - tus tswj hwm cgroup tau npaj siab siv memlock rlimit los tswj kev siv nco hauv BPF cov khoom.
    • Lub tshuab BTF (BPF Hom Hom), uas muab cov ntaub ntawv tshawb xyuas hauv BPF pseudocode, muab kev txhawb nqa rau cov ntsiav modules.
    • Ntxiv kev txhawb nqa rau shutdown(), renameat2() thiab unlinkat() system hu rau io_uring asynchronous I / O interface. Thaum hu rau io_uring_enter(), lub peev xwm los qhia txog lub sijhawm tau ntxiv lawm (koj tuaj yeem tshawb xyuas kev txhawb nqa rau qhov kev sib cav kom qhia txog lub sijhawm siv IORING_FEAT_EXT_ARG chij).
    • Lub ia64 architecture siv nyob rau hauv Intel Itanium processors tau tsiv mus rau cov menyuam ntsuag, uas txhais tau hais tias kev sim tau tso tseg. Hewlett Packard Enterprise tau tso tseg tsis lees txais cov khoom siv Itanium tshiab, thiab Intel tau ua li ntawd xyoo tas los.
    • Kev them nyiaj yug rau cov tshuab raws li MicroBlaze architecture uas tsis suav nrog chav tswj kev nco (MMU) tau raug txiav lawm. Cov txheej txheem zoo li no tsis tau pom nyob rau hauv lub neej niaj hnub ntev.
    • Rau MIPS architecture, kev txhawb nqa rau kev ntsuas kev ntsuas tau raug ntxiv siv gcov utility.
    • Ntxiv kev txhawb nqa rau lub tsheb npav virtual rau kev cuam tshuam nrog cov khoom siv ntau yam uas sib xyaw ua haujlwm uas xav tau cov tsav tsheb sib txawv (piv txwv li, daim npav network nrog Ethernet thiab RDMA kev txhawb nqa). Lub tsheb npav tuaj yeem siv los muab tus tsav tsheb thawj thiab theem nrab rau ib lub cuab yeej, nyob rau hauv cov xwm txheej uas siv MFD (Multi-Function Devices) subsystem muaj teeb meem.
    • Rau RISC-V architecture, kev txhawb nqa tau ntxiv rau CMA (Contiguous Memory Allocator) lub cim xeeb faib, uas yog ua kom zoo rau kev faib cov cheeb tsam loj uas sib txuas nrog siv cov txheej txheem nco nplooj ntawv txav. Rau RISC-V, cov cuab yeej kuj tau siv los txwv kev nkag mus rau / dev / mem thiab coj mus rau hauv tus account cuam tshuam lub sijhawm ua haujlwm.
    • Rau 32-ntsis ARM systems, kev txhawb nqa tau ntxiv rau KASan (Kernel address sanitizer) debugging tool, uas pab txheeb xyuas qhov yuam kev thaum ua haujlwm nrog lub cim xeeb. Rau 64-ntsis ARM, qhov kev siv KASan tau hloov dua siab tshiab los siv MTE tags (MemTag).
    • Ntxiv epoll_pwait2() system hu kom tso cai ncua sij hawm nrog nanosecond precision (epoll_wait hu manipulates milliseconds).
    • Cov txheej txheem tsim tam sim no qhia txog qhov ua yuam kev thaum sim tsim cov khoom siv thauj khoom uas muaj cov ntawv tso cai tsis tau txhais siv MODULE_LICENSE() macro. Txij ntawm no mus, siv EXPORT_SYMBOL() macro rau kev ua haujlwm zoo li qub yuav ua rau muaj qhov yuam kev.
    • Ntxiv kev txhawb nqa rau daim ntawv qhia GEM cov khoom los ntawm lub cim xeeb siv rau I / O, uas ua rau nws muaj peev xwm ua kom nrawm ua hauj lwm nrog lub framebuffer ntawm qee cov qauv.
    • Kconfig tau poob kev txhawb nqa rau Qt4 (thaum tswj kev txhawb nqa rau Qt5, GTK thiab Ncurses).
  • Virtualization thiab Kev Ruaj Ntseg
    • Kev them nyiaj yug rau hom lus teb ceev tau ntxiv rau seccomp() system hu, uas tso cai rau koj los txiav txim siab sai heev seb puas muaj qee qhov kev hu xov tooj raug tso cai lossis txwv tsis pub ua raws li qhov ua tsis tu ncua bitmap txuas nrog rau cov txheej txheem, uas tsis tas yuav khiav. ib tug BPF handler.
    • Integrated kernel Cheebtsam rau kev tsim thiab tswj enclaves raws li Intel SGX (Software Guard eXtensions) technology, uas tso cai rau cov ntawv thov mus rau txim txhaum cai nyob rau hauv cais encrypted cheeb tsam ntawm lub cim xeeb, uas tus so ntawm lub system muaj kev txwv.
    • Raws li ib feem ntawm kev pib txwv kev nkag mus los ntawm cov neeg siv qhov chaw mus rau MSR (cov qauv tshwj xeeb sau npe), sau ntawv mus rau MSR_IA32_ENERGY_PERF_BIAS rau npe, uas tso cai rau koj hloov pauv lub zog siv hluav taws xob hom ("ib txwm", "kev ua tau zoo", "powersave") , txwv tsis pub.
    • Lub peev xwm los cuam tshuam qhov kev tsiv teb tsaws chaw ntawm cov haujlwm tseem ceeb ntawm CPUs tau raug txav los ntawm ceg kernel-rt rau lub sijhawm tiag tiag.
    • Rau ARM64 systems, muaj peev xwm siv MTE tags (MemTag, Memory Tagging Extension) rau cov teeb liab handler nco chaw nyob tau ntxiv. Kev siv MTE tau qhib los ntawm kev qhia meej txog SA_EXPOSE_TAGBITS kev xaiv hauv sigaction() thiab tso cai rau koj los txheeb xyuas qhov tseeb ntawm kev siv cov taw qhia los thaiv qhov kev siv ntawm qhov tsis zoo uas tshwm sim los ntawm kev nkag mus rau lub cim xeeb uas twb tau tso tseg lawm, tsis pub dhau, nkag mus ua ntej pib, thiab siv sab nraud. cov ntsiab lus tam sim no.
    • Ntxiv qhov "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING" parameter, uas tso cai rau lub dm-verity subsystem los xyuas hash kos npe ntawm daim ntawv pov thawj muab tso rau hauv lub thib ob keyring. Hauv kev xyaum, kev teeb tsa tso cai rau koj los txheeb xyuas tsis yog daim ntawv pov thawj tsim rau hauv lub ntsiav, tab sis kuj tseem muaj cov ntawv pov thawj thauj khoom thaum lub sijhawm ua haujlwm, uas ua rau nws tuaj yeem hloov kho daim ntawv pov thawj yam tsis tau hloov kho tag nrho cov kernel.
    • Tus neeg siv hom Linux tau ntxiv kev txhawb nqa rau kev ncua-rau-qhib hom, uas tso cai rau koj kom khov ib puag ncig thiab siv SIGUSR1 teeb liab kom sawv los ntawm hom pw tsaug zog.
    • Lub virtio-mem mechanism, uas tso cai rau koj kom kub-plug thiab txiav lub cim xeeb rau cov tshuab virtual, tau ntxiv kev txhawb nqa rau Big Block Mode (BBM), uas ua rau nws tuaj yeem hloov lossis nqa lub cim xeeb hauv cov blocks loj dua qhov loj ntawm lub cim xeeb. thaiv, uas yog tsim nyog los txhim kho VFIO hauv QEMU.
    • Kev them nyiaj yug rau CHACHA20-POLY1305 cipher tau ntxiv rau kev siv cov ntsiav tshuaj ntawm TLS.
  • Network subsystem
    • Rau 802.1Q (VLAN), kev sib txuas tsis ua haujlwm tswj kev ua haujlwm (CFM, Connectivity Fault Management) tau ua tiav, uas tso cai rau koj txheeb xyuas, txheeb xyuas thiab cais cov kev ua tsis tiav hauv tes hauj lwm nrog txuas txuas virtual (Virtual Bridged Networks). Piv txwv li, CFM tuaj yeem siv los cais cov teeb meem hauv cov tes hauj lwm sib txuas nrog ntau lub koom haum ywj pheej uas nws cov neeg ua haujlwm tsuas yog nkag mus rau lawv tus kheej cov cuab yeej siv.
    • Ntxiv kev txhawb nqa rau encapsulating SCTP raws tu qauv pob ntawv hauv UDP pob ntawv (RFC 6951), uas tso cai rau koj siv SCTP ntawm cov tes hauj lwm nrog cov neeg txhais lus qub uas tsis txhawb nqa SCTP, nrog rau siv SCTP ntawm cov tshuab uas tsis muab kev nkag ncaj qha rau IP. txheej.
    • Kev siv WiMAX thev naus laus zis tau raug hloov mus rau theem thiab raug tshem tawm yav tom ntej yog tias tsis muaj cov neeg siv uas xav tau WiMAX. WiMAX tsis siv nyob rau hauv pej xeem tes hauj lwm, thiab nyob rau hauv lub ntsiav tsuas yog tus tsav tsheb uas WiMAX yuav siv tau yog lub outdated Intel 2400m tsav tsheb. Kev txhawb nqa WiMAX raug txiav tawm hauv NetworkManager network configurator hauv 2015. Tam sim no, WiMax yuav luag tag nrho los ntawm cov thev naus laus zis xws li LTE, HSPA + thiab Wi-Fi 802.11n.
    • Kev ua haujlwm tau ua tiav txhawm rau txhim kho kev ua tau zoo ntawm kev ua tiav TCP cov tsheb khiav hauv hom zerocopy, i.e. tsis tas yuav luam ntxiv rau cov buffers tshiab. Rau cov tsheb loj nruab nrab, npog kaum lossis ntau pua kilobytes ntawm cov ntaub ntawv, siv zerocopy es tsis txhob recvmsg() yog qhov ua tau zoo dua. Piv txwv li, cov kev hloov pauv tau ua rau nws muaj peev xwm ua kom muaj kev ua tau zoo ntawm kev ua haujlwm RPC-style nrog 32 KB cov lus thaum siv zerocopy los ntawm 60-70%.
    • Ntxiv ioctl() tshiab hu los tsim cov txuas txuas txuas txuas txuas nrog ntau qhov txuas PPP. Qhov kev muaj peev xwm tau tso cai rau cov thav ntawv txav los ntawm ib txoj hauv kev mus rau lwm qhov, piv txwv li los ntawm PPPoE mus rau PPPoL2TP kev sib kho.
    • Kev koom ua ke rau hauv lub hauv paus ntawm MPTCP (MultiPath TCP), qhov txuas ntxiv ntawm TCP raws tu qauv rau kev teeb tsa kev ua haujlwm ntawm TCP kev sib txuas nrog kev xa cov pob ntawv ib txhij ntawm ntau txoj hauv kev los ntawm kev sib txawv network cuam tshuam nrog sib txawv IP chaw nyob. Qhov kev tso tawm tshiab qhia txog kev txhawb nqa rau ADD_ADDR kev xaiv los tshaj tawm cov chaw nyob IP uas tuaj yeem txuas nrog thaum ntxiv cov tshiab ntws mus rau MPTCP kev twb kev txuas uas twb muaj lawm.
    • Ntxiv lub peev xwm los teeb tsa kev nqis tes ua thaum qhov kev sib txuas ntawm cov peev nyiaj pov npav ntau dhau (kev xaiv tsis sib xws). Cov yav tas los muaj SO_BUSY_POLL hom txhais tau tias hloov mus rau softirq thaum cov peev nyiaj tas lawm. Rau cov ntawv thov uas xav tau txuas ntxiv siv kev xaiv tsa, ib qho kev xaiv tshiab SO_PREFER_BUSY_POLL tau thov.
    • IPv6 siv kev txhawb nqa rau SRv6 End.DT4 thiab End.DT6 hom, siv los tsim ntau tus neeg siv IPv4 L3 VPNs thiab VRF (Virtual routing thiab forwarding) li.
    • Netfilter sib koom ua ke ntawm kev siv cov kab lus teeb tsa, uas ua rau nws muaj peev xwm qhia ntau yam kab lus rau txhua lub ntsiab lus ntawm cov npe teev.
    • APIs tau ntxiv rau 802.11 wireless pawg los teeb tsa SAR lub zog txwv, nrog rau AE PWE thiab HE MCS tsis. Tus tsav tsheb Intel iwlwifi tau ntxiv kev txhawb nqa rau 6GHz (Ultra High Band) ntau yam. Tus tsav tsheb Qualcomm Ath11k tau ntxiv kev txhawb nqa rau FILS (Fast Initial Link Setup, standardized as IEEE 802.11ai) thev naus laus zis, uas tso cai rau koj kom tshem tawm cov roaming qeeb thaum tsiv teb tsaws ntawm ib qho chaw nkag mus rau lwm qhov.
  • Khoom siv
    • Tus tsav tsheb amdgpu muab kev txhawb nqa rau AMD "Green Sardine" APU (Ryzen 5000) thiab "Dimgrey Cavefish" GPU (Navi 2), nrog rau kev txhawb nqa thawj zaug rau AMD Van Gogh APU nrog Zen 2 core thiab RDNA 2 GPU (Navi 2). Ntxiv kev txhawb nqa rau Renoir APU cov cim tshiab (raws li Zen 2 CPU thiab Vega GPU).
    • Tus tsav tsheb i915 rau Intel video phaib txhawb IS (Integer scaling) thev naus laus zis nrog kev siv lub lim kom nce qhov ntsuas coj mus rau hauv tus account lub xeev ntawm cov pixels nyob sib ze (Nyob ze-neeg zej zog interpolation) los txiav txim cov xim ntawm cov pixels uas ploj lawm. Kev them nyiaj yug rau discrete Intel DG1 phaib tau nthuav dav. Kev them nyiaj yug rau "Big Joiner" thev naus laus zis tau ua tiav, uas tau tshwm sim txij li Ice Lake / Gen11 chips thiab tso cai rau kev siv ib qho kev hloov pauv los ua ob kwj, piv txwv li, tso tawm rau 8K npo ntawm ib qho DisplayPort. Ntxiv ib hom rau asynchronously hloov ntawm ob buffers hauv video nco (async flip).
    • Tus neeg tsav tsheb nouveau tau ntxiv kev txhawb nqa thawj zaug rau NVIDIA GPUs raws li Ampere microarchitecture (GA100, GeForce RTX 30xx), kom deb li deb tau txwv rau cov cuab yeej los tswj cov qauv video.
    • Ntxiv kev txhawb nqa rau 3WIRE raws tu qauv siv hauv LCD panels. Ntxiv kev txhawb nqa rau novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 thiab ABT Y030XX067A 3.0 panels. Cais, peb tuaj yeem nco ntsoov qhov kev txhawb nqa rau lub vaj huam sib luag ntawm OnePlus 6 thiab 6T smartphones, uas ua rau nws muaj peev xwm los teeb tsa lub chaw thau khoom ntawm cov ntsiav tsis hloov pauv ntawm cov khoom siv.
    • Ntxiv kev txhawb nqa rau Intel thawj discrete USB4 tus tswv tswj hwm, Maple Ridge.
    • Ntxiv kev txhawb nqa rau Allwinner H6 I2S, Analog Devices ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI thiab XCVR, Realtek RT715 thiab Qualcomm SM8250 audio codecs.
    • Ntxiv kev txhawb nqa rau ARM boards, pab kiag li lawm thiab platforms: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192 / MT6779 / MT8167, MStar Infinity2M, MStar Infinity 730M, Marda CM382M, Mikrotik raws li Marvell Prestera 98DX3236, servers nrog Nuvoton NPCM750 BMC, Kontron i.MX8M Mini, Espressobin Ultra, "Trogdor" Chromebook, Kobol Helios64, Engicam PX30.Core.
    • Ua-hauv kev txhawb nqa rau Ouya gaming console raws li NVIDIA Tegra 3.

Nyob rau tib lub sijhawm, Latin American Free Software Foundation tsim ib qho version ntawm cov dawb kiag li 5.11 ntsiav - Linux-libre 5.11-gnu, tshem tawm cov ntsiab lus ntawm firmware thiab cov tsav tsheb uas muaj cov khoom tsis pub dawb lossis cov lej, cov peev txheej uas muaj kev txwv. los ntawm cov chaw tsim khoom. Qhov kev tso tawm tshiab no ntxuav cov tsav tsheb rau qat_4xxx (crypto), lt9611uxcm (dsi/hdmi choj), ccs/smia++ (sensor), ath11k_pci, nxp audio transceiver thiab mhi pci maub los. Hloov kho blob tu code hauv tsav tsheb thiab subsystems amdgpu, btqca, btrtl, btusb, i915 csr. Cov neeg xiam oob qhab tshiab hauv m3 rproc, idt82p33 ptp moos thiab qualcomm arm64.

Tau qhov twg los: opennet.ru

Ntxiv ib saib