Ho lokolloa ha kernel ea Linux 6.3

Kamora likhoeli tse peli tsa nts'etsopele, Linus Torvalds e lokolitse Linux 6.3 kernel. Har'a liphetoho tse hlokomelehang ka ho fetisisa: ho hloekisa liforomo tsa ARM tse sa sebetseng le bakhanni ba litšoantšo, ho tsoela pele ho kopanngoa ha tšehetso ea puo ea Rust, ts'ebeliso ea hwnoise, tšehetso bakeng sa mehaho ea lifate tse khubelu tse ntšo BPF, BIG TCP mode bakeng sa IPv4, e hahiloeng ka har'a Dhrystone benchmark, bokhoni ba ho tima. ts'ebetsong ka memfd, ts'ehetso ea ho theha bakhanni ba HID ba sebelisang BPF, liphetoho li entsoe ho Btrfs ho fokotsa ho arohana ha lihlopha tse thibelang.

Phetolelo e ncha e amohetse litokiso tsa 15637 ho tsoa ho baetsi ba 2055; boholo ba patch - 76 MB (liphetoho li amme lifaele tsa 14296, mela ea 1023183 ea khoutu e kenyelelitsoe, mela ea 883103 e hlakotsoe). Ho bapisa, phetolelong e fetileng, litokiso tsa 16843 li ile tsa hlahisoa ho tsoa ho baetsi ba 2178; boholo ba patch - 62 MB. Hoo e ka bang 39% ea liphetoho tsohle tse hlahisitsoeng ho 6.3 kernel li amana le bakhanni ba lisebelisoa, hoo e ka bang 15% ea liphetoho li amana le ho ntlafatsa khoutu e khethehileng ho meralo ea hardware, 10% e amana le stack ea marang-rang, 5% ho tsamaiso ea lifaele, le 3. % ho li-subsystem tsa kernel tse ka hare.

Mekhoa e mecha ea bohlokoa ho kernel 6.3:

  • Litšebeletso tsa memori le tsamaiso
    • Tlhoekiso ea bohlokoa ea khoutu e amanang le liboto tsa ARM tsa khale le tse sa sebelisoeng li entsoe, tse fokolitseng boholo ba mehloli ea kernel ka mela e likete tse 150. E tlositse li-platform tsa khale tsa ARM tse fetang 40.
    • E kentse tšebetsong bokhoni ba ho theha bakhanni ba lisebelisoa tse kentsoeng ka sebopeho sa HID (Human Interface Device) se kentsoeng ka mokhoa oa mananeo a BPF.
    • E tsoelapele ho tsoa lekaleng la Rust-for-Linux la ts'ebetso e eketsehileng e amanang le ho sebelisa Rust joalo ka puo ea bobeli bakeng sa ho nts'etsapele bakhanni le li-module tsa kernel. Tšehetso ea mafome ha e khonehe ka ho sa feleng, 'me ha e etse hore Rust e kenyelelitsoe e le ts'ehetso ea kernel e tlamang. Ts'ebetso e fanoeng litokollong tse fetileng e ekelitsoe ka ts'ehetso bakeng sa mefuta ea Arc (ts'ebetso ea lintlha tse nang le palo ea litšupiso), ScopeGuard (cleanup e etsoa ha e tsoa), le ForeignOwnable (e fana ka motsamao oa pointer lipakeng tsa C le Rust code) . Mojule o tlositsoe 'kalima' sephutheloana sa 'alloc' (mofuta oa 'Cow' le trait 'ToOwned'). Hoa hlokomeloa hore boemo ba tšehetso bakeng sa Rust ka kernel bo se bo le haufi le ho qala ho amohela li-module tsa pele tse ngotsoeng ka Rust ka har'a kernel.
    • Linux ea mofuta oa mosebelisi (e tsamaisang kernel joalo ka ts'ebetso ea mosebelisi) lits'ebetsong tsa x86-64 e ts'ehetsa khoutu e ngotsoeng ka Rust. Ts'ehetso e ekelitsoeng bakeng sa ho aha Linux ea Mosebelisi o sebelisa clang e nang le li-link-time optimizations tse lumelletsoeng (LTO).
    • E kentse ts'ebeliso ea hwnoise ho latela tieho e bakoang ke boitšoaro ba hardware. Ho kheloha nakong ea ts'ebetso (jitter) ho khethoa ha ts'ebetso ea tšitiso e koetsoe, e fetang microsecond e le 'ngoe ka metsotso e 10 ea lipalo.
    • Mojule oa kernel o kentsoe ts'ebetsong ea benchmark ea Dhrystone e ka sebelisoang ho lekola ts'ebetso ea CPU litlhophisong ntle le likarolo tsa sebaka sa basebelisi (mohlala, sethaleng sa ho tsamaisa li-SoC tse ncha tse kenyang ts'ebetso ea kernel feela).
    • E kenyellelitsoe "cgroup.memory=nobpf" kernel command line khetho ho tima accounting ea memori bakeng sa mananeo a BPF, a ka bang molemo bakeng sa lits'ebetso tse nang le lijana tse ka thoko.
    • Bakeng sa mananeo a BPF, ho hlahisoa ts'ebetsong ea sebopeho sa data sa sefate se sefubelu se setšo, se sebelisang kfunc + kptr (bpf_rbtree_add, bpf_rbtree_remove, bpf_rbtree_first) ho e-na le ho eketsa mofuta o mocha oa 'mapa.
    • Mochini oa tatellano e ka qaloang bocha (rseq, tatellano e ka qalisoang hape), monyetla oa ho fetisa li-identifiers tse tšoanang tsa ts'ebetso (ID ea memori ea 'mapa oa concurrency) e bonts'itsoeng ka nomoro ea CPU e kentsoe lits'ebetsong. Rseq e fana ka mokhoa oa ho etsa ts'ebetso ka potlako ea atomo, eo, ha e sitisoa ke khoele e 'ngoe, e hloekisoang ebe e lekoa hape.
    • Li-processor tsa ARM li tšehetsa litaelo tsa SME 2 (Scalable Matrix Extension).
    • Bakeng sa meralo ea s390x le RISC-V RV64, ts'ehetso ea mochini oa "BPF trampoline" e sebelisoa, e lumellang ho fokotsa holimo ha ho fetisoa mehala lipakeng tsa kernel le mananeo a BPF.
    • Ho litsamaiso tse nang le li-processor tse thehiloeng ho meralo ea RISC-V, tšebeliso ea litaelo tsa "ZBB" e kentsoe ts'ebetsong ho potlakisa ts'ebetso ea likhoele.
    • Bakeng sa lits'ebetso tse ipapisitseng le meralo ea thuto ea LoongArch (e sebelisitsoeng ho li-processor tsa Loongson 3 5000 le ho kenya ts'ebetsong RISC ISA e ncha e ts'oanang le MIPS le RISC-V), ts'ehetso ea sebaka sa aterese ea kernel (KASLR), ho fallisoa ha kernel mohopolong (ho fallisoa). ), lintlha tsa hardware li emisa le mochine oa kprobe.
    • Mochine oa DAMOS (Data Access Monitoring-based Operation Schemes), o o lumellang ho lokolla mohopolo o ipapisitseng le makhetlo a phihlello ea mohopolo, o ts'ehetsa li-filters ho qhelela libaka tse itseng tsa mohopolo ho sebetsa ho DAMOS.
    • Laeborari e nyane e tloaelehileng ea C Nolibc e sebelisa ts'ehetso bakeng sa meralo ea s390 le sete ea litaelo tsa Arm Thumb1 (ho kenyelletsa tšehetso ea ARM, AArch64, i386, x86_64, RISC-V le MIPS).
    • Objtool e ntlafalitsoe ho potlakisa kernel ho haha ​​​​le ho fokotsa ts'ebeliso ea memori ea tlhoro nakong ea ho aha (ha ho hahoa kernel ka mokhoa oa "allyesconfig", ha ho na mathata a ho felisoa ha lits'ebetso ho sistimi e nang le 32 GB ea RAM).
    • Tšehetso bakeng sa kopano ea kernel ka Intel ICC compiler e khaolitse, e leng khale e sa sebetse 'me ha ho motho ea bontšitseng takatso ea ho e lokisa.
  • Disk Subsystem, I/O le File Systems
    • tmpfs e ts'ehetsa 'mapa oa ID ea mosebelisi oa sistimi e kentsoeng, e sebelisetsoang ho etsa' mapa oa lifaele tsa mosebelisi karohanong e kentsoeng kantle ho mosebelisi e mong tsamaisong ea hajoale.
    • Ho Btrfs, ho fokotsa ho arohana ha lihlopha tsa li-blocks, litekanyo li aroloa ka boholo ha li fana ka li-blocks, i.e. sehlopha sefe kapa sefe sa li-blocks se se se lekanyelitsoe ho tse nyane (ho fihla ho 128KB), tse mahareng (ho fihla ho 8MB), le boholo bo boholo. Ts'ebetso ea raid56 e se e fetotsoe. Khoutu e hlophisitsoeng bocha bakeng sa ho lekola li-checksum. Lintlafatso tsa ts'ebetso li entsoe ho potlakisa ts'ebetso ea ho romella ho fihla ho makhetlo a 10 ka ho boloka nako ea li-directory le ho etsa litaelo ha ho hlokahala. 10x ts'ebetso e potlakileng ea fiemap ka ho tlola licheke tsa backlink bakeng sa data e arolelanoang (lits'oants'o). Ts'ebetso e nang le metadata e potlakisoa ke XNUMX% ka ho ntlafatsa patlo ea linotlolo ho meaho ea lifate tsa b.
    • Ts'ebetso e ntlafetseng ea ext4 FS ka ho lumella mekhoa e mengata hore ka nako e le 'ngoe e etse mesebetsi e tobileng ea I / O ho li-blocks tse fanoeng esale pele ho sebelisa li-inode tse arolelanoang ho e-na le liloko tse khethehileng.
    • Ho f2fs, mosebetsi o entsoe ho ntlafatsa ho baloa ha khoutu. Lokisa litaba tsa bohlokoa tse amanang le ho ngola atomic le cache ea tekanyo e ncha.
    • EROFS (Enhanced Read-Only File System), e etselitsoeng ho sebelisoa likarolong tse baloang feela, e sebelisa bokhoni ba ho tlamella ts'ebetso ea ho fokotsa lifaele ho CPU ho fokotsa tieho ea phihlello ea data.
    • Sehlophisi sa BFQ I/O se ekelitse tšehetso bakeng sa li-drive tsa disk tse tsoetseng pele, tse kang tse sebelisang li-drive tse ngata tse laoloang ka thoko (Multi Actuator).
    • Ts'ehetso bakeng sa encryption ea data ho sebelisa algorithm ea AES-SHA2 e kentsoe ts'ebetsong ea moreki oa NFS le seva.
    • The FUSE (Filesystems In User Space) e ekelitse ts'ehetso bakeng sa mochine oa katoloso ea lipotso, e leng se u lumellang ho kenya lintlha tse eketsehileng potsong. Ho ipapisitsoe le tšobotsi ena, ho eketsoa ha li-identifiers tsa sehlopha ho kopo ea FS ho kengoa ts'ebetsong, tse hlokahalang ho ela hloko litokelo tsa phihlello ha u theha lintho ho FS (bopa, mkdir, symlink, mknod).
  • Virtualization le Tšireletso
    • KVM hypervisor bakeng sa litsamaiso tsa x86 e eketsa ts'ehetso bakeng sa li-hyper-V hypercall tse atolositsoeng mme e ba fa monyetla oa ho fetisetsa ho motho ea sebetsang sebakeng sa moamoheli oa sebaka sa mosebelisi. Phetoho e entse hore ho khonehe ho kenya ts'ehetso bakeng sa ho qala sehlaha sa Hyper-V hypervisor.
    • KVM e etsa hore ho be bonolo ho thibela phihlello ea sistimi ea baeti liketsahalong tsa PMU (Performance Monitor Unit) tse amanang le tekanyo ea ts'ebetso.
    • Mochine oa memfd, o u lumellang hore u tsebe sebaka sa mohopolo ka tlhaloso ea faele e fetisitsoeng pakeng tsa lits'ebetso, e ekelitsoe bokhoni ba ho theha libaka tseo ho tsona ho hanetsoeng ho etsa khoutu (memfd e sa phethisoeng) 'me ho ke ke ha khoneha ho beha litokelo tsa ts'ebetso ho bokamoso.
    • Ts'ebetso e ncha ea PR_SET_MDWE prctl e kentsoe ho thibela liteko tsa ho kenyelletsa litokelo tsa phihlello ea memori tse lumellang ho ngola le ho etsa ka nako e le 'ngoe.
    • Tšireletso khahlano le litlhaselo tsa sehlopha sa Specter e ekelitsoe mme e nolofalitsoe ka mokhoa o ikhethileng, ho ipapisitsoe le IBRS (Enhanced Indirect Branch Restricted Speculation) mokhoa o ikemetseng o reriloeng ho li-processor tsa AMD Zen 4, tse u lumellang ho ikamahanya le maemo le ho tima ts'ebetso e inahaneloang ea litaelo nakong ea ts'ebetso e sitisang. , mehala ea sistimi, le li-switches tsa maemo. Tšireletso e reriloeng e fella ka ho theoha holimo ha ho bapisoa le ts'ireletso ea Retpoline.
    • E rarolla bothata bo ka 'nang ba feta tšireletso ea tlhaselo ea Specter v2 ha u sebelisa theknoloji ea ho bala ka nako e le 'ngoe (SMT kapa Hyper-Threading) 'me e bakoa ke ho tima mochine oa STIBP (Single Thread Indirect Branch Predictors) ha u khetha mokhoa oa tšireletso oa IBRS.
    • Bakeng sa litsamaiso tse thehiloeng ho ARM64, sepheo se secha sa "virtconfig" se kentsoe, seo, ha se khethiloe, se kenyang tšebetsong feela karolo e tlase ea likarolo tsa kernel tse hlokahalang ho qala lits'ebetsong tsa virtualization.
    • Ts'ehetso e ekelitsoeng bakeng sa mehala ea ho sefa e sebelisa mochini oa seccomp bakeng sa meralo ea m68k.
    • Ts'ehetso e ekelitsoeng bakeng sa lisebelisoa tsa li-processor tsa AMD Ryzen tse hahelletsoeng ka har'a CRB TPM2 (Command Response Buffer) tse ipapisitseng le theknoloji ea Microsoft Pluton.
  • Sistimi e nyane ea marang-rang
    • Khokahano ea netlink e kentsoe ho lokisa PLCA (Physical Layer Collision Avoidance) sublayer, e hlalositsoeng ho IEEE 802.3cg-2019 mme e sebelisoa ho 802.3cg (10Base-T1S) marang-rang a Ethernet a ntlafalitsoeng bakeng sa ho hokahanya lisebelisoa tsa IoT le litsamaiso tsa indasteri. Tšebeliso ea PLCA e ntlafatsa ts'ebetso ho marang-rang a arolelanoang a Ethernet.
    • Ts'ehetso bakeng sa "extensions tse se nang mohala" API ea ho laola li-interface tsa WiFi 7 (802.11be) e emisitsoe, kaha API ena ha e koahele litlhophiso tsohle tse hlokahalang. Ha u leka ho sebelisa "wireless extensions" API, e ntseng e tsoela pele ho tšehetsoa e le sekhahla se etsisoang, temoso e se e tla hlahisoa bakeng sa lisebelisoa tse ngata tsa hona joale.
    • Litokomane tse qaqileng ho netlink API li se li lokiselitsoe (bakeng sa baetsi ba kernel le ba ntlafatsang lits'ebetso tsa sebaka sa basebelisi). Ts'ebeliso ea ynl-gen-c e kentsoe tšebetsong ho hlahisa C-code ho ipapisitse le lintlha tsa YAML tsa protocol ea Netlink.
    • Ts'ehetso bakeng sa khetho ea IP_LOCAL_PORT_RANGE e kentsoe litsing tsa marang-rang ho nolofatsa litlhophiso tsa likhokahano tse tsoang ka bafetoleli ba liaterese ntle le ho sebelisa SNAT. Ha o sebelisa aterese e tšoanang ea IP ho li-host tse ngata, IP_LOCAL_PORT_RANGE e lumella moamoheli e mong le e mong ho sebelisa mefuta ea eona ea likou tsa marang-rang tse tsoang, le tseleng ea ho fetisa lipakete ho latela linomoro tsa boema-kepe.
    • Bakeng sa MPTCP (MultiPath TCP), bokhoni ba ho sebetsana le melapo e tsoakaneng e sebelisang liprothokholo tsa IPv4 le IPv6 bo kentsoe ts'ebetsong. MPTCP ke katoloso ea protocol ea TCP bakeng sa ho hlophisa ts'ebetso ea khokahano ea TCP le ho tsamaisoa ha lipakete ka nako e le 'ngoe litseleng tse' maloa ka li-interfaces tse fapaneng tsa marang-rang tse tlameletsoeng liaterese tse fapaneng tsa IP.
    • Bakeng sa IPv4, monyetla oa ho sebelisa katoloso ea BIG TCP e kengoa ts'ebetsong, e lumellang ho eketsa boholo ba boholo ba pakete ea TCP ho fihlela ho 4 GB ho ntlafatsa ts'ebetso ea marang-rang a ka hare a potlakileng a litsi tsa data. Keketseho ena ea boholo ba pakete e nang le tšimo ea hlooho ea 16-bit e finyelloa ka ho kenya ts'ebetsong lipakete tsa "jumbo" tse nang le boholo ba lihlooho tsa IP tse behiloeng ho 0 le boholo ba sebele bo fetisetsoang tšimong e arohaneng ea 32-bit ka hlooho e arohaneng.
    • Ho kenyellelitsoe parameter e ncha ea sysctl default_rps_mask, eo ka eona u ka behang tlhophiso ea kamehla ea RPS (Receive Packet Steering), e ikarabellang bakeng sa ho aba ts'ebetso ea sephethephethe se kenang ho pholletsa le li-CPU cores boemong ba ho ts'oaroa.
    • Ts'ehetso e khaotsoeng bakeng sa litloaelo tsa queuing ho thibela CBQ (line-based queuing), ATM (ATM virtual circuits), dsmark (differentiated service marker), tcindex (traffic-control index), le RSVP (resource reservation protocol) sephethephethe. Litaeo tsena li lahliloe ka nako e telele 'me ha ho motho ea neng a ikemiselitse ho tsoela pele ka tšehetso ea bona.
  • Lisebelisoa
    • E tlositse bakhanni bohle ba litšoantšo ba DRI1: i810 (likarete tsa khale tsa Intel 8xx tse kopantsoeng), mga (Matrox GPU), r128 (ATI Rage 128 GPU ho kenyelletsa likarete tsa Rage Fury, XPERT 99 le XPERT 128), savage (S3 Savage GPU), sis ( Crusty SiS GPU), tdfx (3dfx Voodoo) le ka (VIA IGP), tse ileng tsa theoha ka 2016 mme ha li so ka li tšehetsoa ho Mesa ho tloha 2012.
    • E tlositsoe li-framebuffer tse sa sebetseng (fbdev) omap1, s3c2410, tmiofb le w100fb.
    • Mokhanni oa DRM o kenyellelitsoe VPU (Versatile Processing Unit) e kopantsoeng le Intel Meteor Lake (14th generation) CPUs, e etselitsoeng ho potlakisa pono ea k'homphieutha le ts'ebetso ea ho ithuta ka mochine. Mokhanni o kenngoa ts'ebetsong a sebelisa "accel" subsystem, e reretsoeng ho fana ka tšehetso bakeng sa li-accelerator tsa k'homphieutha, tse ka fanoang ka bobeli ka mokhoa oa li-ASIC tse arohaneng le joalo ka li-block tsa IP ka hare ho SoC le GPU.
    • Mokhanni oa i915 (Intel) o eketsa tšehetso bakeng sa likarete tsa litšoantšo tsa Intel Arc (DG2/Alchemist), o hlahisa tšehetso ea pele bakeng sa Meteor Lake GPUs, 'me e kenyelletsa tšehetso bakeng sa Intel Xe HP 4tile GPUs.
    • Mokhanni oa amdgpu o eketsa tšehetso bakeng sa theknoloji ea AdaptiveSync le bokhoni ba ho sebelisa Secure Display ka lipontšo tse ngata. Tšehetso e ntlafalitsoeng bakeng sa DCN 3.2 (Display Core Next), SR-IOV RAS, VCN RAS, SMU 13.x le DP 2.1.
    • Tšehetso e ekelitsoeng bakeng sa li-platform tsa SM8350, SM8450 SM8550, SDM845 le SC8280XP ho mokhanni oa msm (GPU Qualcomm Adreno).
    • Mokhanni oa Nouveau o lahlile tšehetso bakeng sa mehala ea khale ea ioctl.
    • Tšehetso ea liteko bakeng sa NPU VerSilicon (VeriSilicon Neural Network Processor) e kenyelelitsoe ho mokhanni oa etnaviv.
    • Mokhanni oa pata_parport bakeng sa li-drive tsa IDE tse hokahaneng ka boema-kepe bo tšoanang o kentsoe tšebetsong. Mokhanni ea ekelitsoeng o entse hore ho khonehe ho tlosa mokhanni oa khale oa PARIDE kernel le ho ntlafatsa tsamaiso ea ATA. Khaello ea mokhanni e mocha ke ho se khone ho hokahanya mochine oa khatiso le disk ka nako e le 'ngoe ka koung e bapileng.
    • Ho ekelitsoe mokhanni oa ath12k bakeng sa likarete tse se nang mohala tse thehiloeng ho li-chips tsa Qualcomm tse nang le tšehetso ea Wi-Fi 7. Tšehetso e ekelitsoeng bakeng sa likarete tse se nang mohala tse thehiloeng ho li-chips tsa RealTek RTL8188EU.
    • Ts'ehetso e ekelitsoeng bakeng sa liboto tse 46 tse ipapisitseng le meralo ea ARM64, ho kenyeletsoa Samsung Galaxy tab A (2015), Samsung Galaxy S5, BananaPi R3, Debix Model A, EmbedFire LubanCat 1/2, Facebook Greatlakes, Orange Pi R1 Plus, Tesla FSD, le lisebelisoa. Ho ipapisitsoe le Boalcomm MSM8953 (Snapdragon 610), RK8550, RK8 / AM2 / AM450 / AM632).

Ka nako e ts'oanang, Latin American Free Software Foundation e thehile mofuta o fapaneng oa kernel 6.3 ea mahala - Linux-libre 6.3-gnu, e hlakotsoeng ea firmware le likarolo tsa mokhanni tse nang le likarolo tse sa lefelloeng kapa likarolo tsa khoutu, tseo boholo ba tsona bo lekantsoeng ke moetsi. Khatisong ea 6.3, li-blobs li ile tsa hloekisoa ho li-driver tse ncha tsa ath12k, aw88395, le peb2466, hammoho le lifaeleng tse ncha tsa lisebelisoa tsa lisebelisoa tsa qcom tse thehiloeng ho AArch64. Khoutu e ntlafalitsoeng ea ho hloekisa blob ho amdgpu, xhci-rcar, qcom-q6v5-pas, sp8870, li-driver av7110 le li-subsystems, hammoho le ho bakhanni ba likarete tsa DVB tse nang le software ea decoding le lifaeleng tsa BPF tse hlophisitsoeng esale pele. E emisitse bakhanni ba purge mga, r128, tm6000, cpia2 le r8188eu ha ba ntse ba tlosoa kernel. Ho hloekisa blob ea mokhanni e ntlafalitsoeng ea i915.

Source: opennet.ru

Eketsa ka tlhaloso