Linux 6.3 kernel kuburitswa

Mushure memwedzi miviri yebudiriro, Linus Torvalds yakaburitsa iyo Linux 6.3 kernel. Pakati pekuchinja kunonyanya kukosha: kucheneswa kwemapuratifomu eArM akasakara uye madhiraivha emifananidzo, kuenderera mberi nekubatanidzwa kweRust mutauro rutsigiro, hwnoise utility, kutsigirwa kwemuti mutsvuku-mutema zvimiro muBPF, BIG TCP modhi yeIPv4, yakavakirwa-muDhrystone bhenji, kugona kudzima. kuurayiwa mu memfd, kutsigirwa kwekugadzira madhiraivha eHID vachishandisa BPF, shanduko dzakaitwa kuBtrfs kuderedza kupatsanurwa kweboka.

Iyo vhezheni itsva yakagamuchira 15637 inogadzirisa kubva ku2055 vagadziri; saizi yechigamba - 76 MB (shanduko dzakakanganisa 14296 mafaera, 1023183 mitsetse yekodhi yakawedzerwa, 883103 mitsetse yakabviswa). Kuenzanisa, mune yapfuura vhezheni, 16843 zvigadziriso zvakarongwa kubva kune 2178 vanogadzira; chigamba saizi - 62 MB. Inenge 39% yeshanduko dzese dzakaunzwa mu6.3 kernel dzine hukama nevatyairi vemidziyo, dzinenge gumi neshanu muzana dzeshanduko dzine chekuita nekuvandudza kodhi yakanangana nehardware architecture, 15% ine chekuita netiweki stack, 10% kumafaira masisitimu, uye 5. % kune yemukati kernel subsystems.

Makiyi matsva mu kernel 6.3:

  • Memory uye system masevhisi
    • Kucheneswa kwakakosha kwekodhi ine chekuita nemabhodhi ekare uye asina kushandiswa eARM akaitwa, izvo zvakaderedza saizi yezvinyorwa zve kernel ne150 zviuru mitsara. Yakabviswa anopfuura makumi mana ekare ARM mapuratifomu.
    • Yakaita kugona kugadzira madhiraivha emidziyo yekupinza ine HID (Human Interface Chishandiso) interface inoshandiswa nenzira yeBPF zvirongwa.
    • Kuenderera mberi nekutakura kubva kubazi reRust-for-Linux rekuwedzera mashandiro ane chekuita nekushandisa Rust semutauro wechipiri wekugadzira vatyairi uye kernel module. Rutsigiro rwerust harugoneswe nekusarudzika, uye hazviite kuti Rust ibatanidzwe sechinhu chinosungirwa kernel kuvaka kutsamira. Iko kushanda kwakapihwa mukuburitswa kwakapfuura kwakawedzerwa nerutsigiro rwemhando dzeArc (kuitwa kweanongedzo ane referensi kuverenga), ScopeGuard (inochenesa kana yabuda kunze kwechikamu), uye ForeignOwnable (inopa chinongedzo chekufamba pakati peC uye Rust kodhi) . Yakabviswa module 'kwereta' kubva pasuru 'alloc' (mhando 'Mhou' uye hunhu 'ToOwned'). Zvinocherechedzwa kuti mamiriro erutsigiro eRust mu kernel atove pedyo nekutanga kugamuchira ma module ekutanga akanyorwa muRust mu kernel.
    • Mushandisi-modhi Linux (inomhanyisa kernel semushandisi maitiro) pane x86-64 masisitimu inotsigira kodhi yakanyorwa muRust. Yakawedzera rutsigiro rwekuvaka Mushandisi-modhi Linux uchishandisa clang ine-link-nguva optimizations inogoneswa (LTO).
    • Yakawedzera hwnoise utility yekutevera kunonoka kunokonzerwa nemaitiro ehardware. Kutsauka panguva yekuitwa kwekushanda (jitter) kunotariswa kana kukanganisa kugadzirisa kwakadzimwa, kudarika microsecond imwe mumaminetsi gumi ekuverenga.
    • Iyo kernel module yakawedzerwa neiyo Dhrystone bhenji yekumisikidza inogona kushandiswa kuongorora CPU kuita mukumisikidzwa pasina mushandisi-nzvimbo zvikamu (semuenzaniso, padanho rekutakura remaSoC matsva anongoisa kernel kurodha).
    • Yakawedzerwa "cgroup.memory=nobpf" kernel yekuraira mutsara sarudzo yekudzima ndangariro yekushandisa accounting yeBPF zvirongwa, izvo zvinogona kubatsira kune masisitimu ane midziyo yakasarudzika.
    • Kuzvirongwa zveBPF, kushandiswa kweiyo red-black tree data structure inokurudzirwa, inoshandisa kfunc + kptr (bpf_rbtree_add, bpf_rbtree_remove, bpf_rbtree_first) pane kuwedzera rudzi rutsva rwemepu.
    • Muchigadziriso chekutevedzana kudzoreredzwa (rseq, kudzokororwa kutevedzana) kwakawedzera kugona kupfuudza zvakafanana kuuraya zviziviso (memory-mepu concurrency ID) yakaonekwa neCPU nhamba kune maitiro. Rseq inopa nzira yekukurumidza kuita maatomu ekuita mashandiro ayo, kana avhiringwa neimwe shinda, anocheneswa uye anoedzwazve.
    • ARM processors anotsigira SME 2 (Scalable Matrix Extension) mirairo.
    • Kune iyo s390x uye RISC-V RV64 zvivakwa, tsigiro ye "BPF trampoline" nzira inoshandiswa, iyo inobvumira kudzikisa pamusoro kana uchitumira mafoni pakati pekernel neBPF zvirongwa.
    • Pane masisitimu ane ma processor anoenderana neRISC-V architecture, kushandiswa kwe "ZBB" mirairo yakaitwa kuti ikurumidze kushanda kwetambo.
    • Kune masisitimu akavakirwa paiyo LoongArch yekuraira set architecture (inoshandiswa muLoongson 3 5000 processors uye kuita RISC ISA nyowani yakafanana neMIPS neRISC-V), rutsigiro rwekernel kero nzvimbo randomisation (KASLR), kutamiswa kwekernel mundangariro (kutamiswa. ), Hardware point inomira uye kprobe mechanism.
    • Iyo DAMOS (Data Access Monitoring-based Operation Schemes) meshini, iyo inokutendera iwe kusunungura ndangariro zvichibva pahuwandu hwekurangarira kuwana, inotsigira mafirita kusabvisa dzimwe nzvimbo dzendangariro kubva mukugadziriswa muDAMOS.
    • Iyo yakaderera yakajairwa C raibhurari Nolibc inoshandisa tsigiro ye s390 dhizaini uye iyo Arm Thumb1 yekuraira set (pamwe nerutsigiro rweARM, AArch64, i386, x86_64, RISC-V uye MIPS).
    • Objtool yakagadziridzwa kuti ikurumidze kernel inovaka uye kuderedza peak yekuyeuka kushandiswa panguva yekuvaka (kana uchivaka kernel mu "allyesconfig" modhi, hapana matambudziko nekumanikidzwa kumisa maitiro pane masisitimu ane 32 GB ye RAM).
    • Tsigiro yekuungana kwekernel neIntel ICC compiler yakamiswa, yanga isingashande kwenguva yakareba uye hapana akataura chishuwo chekuigadzirisa.
  • Disk Subsystem, I/O uye File Systems
    • tmpfs inotsigira akaiswa faira system mushandisi ID mepu, iyo inoshandiswa kumepu mafaera emumwe mushandisi pane yakamisikidzwa yekune dzimwe nyika kune mumwe mushandisi pane yazvino system.
    • MuBtrfs, kuderedza kupatsanurwa kwemapoka ezvivharo, zviyero zvakakamurwa nehukuru pakugovera zvidhinha, i.e. chero boka remabhuroko ikozvino rakaganhurwa kune diki (kusvika ku128KB), yepakati (kusvika 8MB), uye yakakura. Kuitwa kweRaid56 kwakagadziridzwa. Yakagadziridzwa kodhi yekutarisa macheki. Performance optimizations yakaitwa kuti ikurumidze kutumira basa nekusvika kagumi necaching utime yemadhairekitori uye kuita mirairo chete pazvinenge zvichidikanwa. 10x inokurumidza fiemap mashandiro nekusvetuka backlink cheki kune yakagovaniswa data (snapshots). Kushanda nemetadata kunokwidziridzwa ne10% nekugadzirisa kutsvaga kwemakiyi mune b-miti zvimiro.
    • Kuvandudzwa kwekuita kwe ext4 FS nekubvumira maitiro akawanda kuita panguva imwe chete yakananga I/O mashandiro kune pre-yakagoverwa zvidhinha uchishandisa yakagovaniswa inode locks pachinzvimbo chekiyi chete.
    • Mune f2fs, basa rakaitwa kuvandudza kuverenga kwekodhi. Yakagadziriswa yakakosha nyaya dzine chekuita nekunyora kweatomu uye iyo nyowani chiyero cache.
    • Yakagadzirirwa zvidimbu zvekuverenga-chete, EROFS (Enhanced Read-Only File System) inokwanisa kusunga dhizaini yekumisikidza faira kuCPU kuderedza data yekuwana latency.
    • Iyo BFQ I/O scheduler yakawedzera tsigiro yekumhanyisa dhisiki madhiraivha, seaya anoshandisa akawanda akasiyana anodzorwa madhiraivha (Multi Actuator).
    • Tsigiro ye encryption yedata uchishandisa iyo AES-SHA2 algorithm yakawedzerwa pakuitwa kweNFS mutengi uye server.
    • Iyo FUSE (Filesystems MuMushandisi Space) subsystem yakawedzera tsigiro yemubvunzo wekuwedzera meshini, iyo inobvumidza iwe kuisa rumwe ruzivo mumubvunzo. Zvichienderana nechinhu ichi, kuwedzerwa kwezviziviso zveboka kuchikumbiro cheFS kunoitwa, izvo zvinodiwa kuti utarise kodzero dzekuwana kana uchigadzira zvinhu muFS (gadzira, mkdir, symlink, mknod).
  • Virtualization uye Chengetedzo
    • Iyo KVM hypervisor ye x86 masisitimu inowedzera tsigiro yeakawedzera Hyper-V hypercalls uye inovapa iyo yekuendesa kune inobata inomhanya munzvimbo yemushandisi-nzvimbo yekutambira. Shanduko iyi yakaita kuti zvikwanise kuita tsigiro yekutangisa nested kweHyper-V hypervisor.
    • KVM inoita kuti zvive nyore kurambidza kupinda kwevaenzi kuPMU (Performance Monitor Unit) zviitiko zvine chekuita nekuyerwa kwekuita.
    • Iyo memfd mechanism, iyo inobvumidza iwe kuona nzvimbo yekurangarira kuburikidza nefaira descriptor yakapfuura pakati pemaitiro, yakawedzerwa kugona kugadzira nzvimbo umo kodhi kuuraya inorambidzwa (isina-executable memfd) uye hazvigoneke kuseta kodzero dzekuuraya mu. ramangwana.
    • Iyo itsva PR_SET_MDWE prctl operation yawedzerwa kuvharidzira kuedza kusanganisira kodzero yekuwana ndangariro inobvumira zvose kunyora nekuita panguva imwe chete.
    • Yakawedzerwa uye inogoneswa nekuchengetedzwa kwakasarudzika kubva pakurwiswa kwekirasi yeSpecter, inoshandiswa pahwaro hweIBRS (Yakawedzera Isina Kunanga Bazi Restricted Kufungidzira) otomatiki modhi inokurudzirwa mu AMD Zen 4 processors, iyo inokutendera iwe kuti ugone kugonesa uye kudzima kufungidzira kwekuita kwemirairo panguva yekuvhiringidza. kugadzirisa, kufona system, uye mamiriro ekuchinja. Dziviriro yakarongwa inoguma yakaderera pamusoro kana ichienzaniswa nekuchengetedzwa kweRetpoline.
    • Inogadzirisa kusagadzikana kunogona kupfuura Specter v2 kurwisa kudzivirira kana uchishandisa panguva imwe chete multithreading tekinoroji (SMT kana Hyper-Threading) uye zvichikonzerwa nekudzima STIBP (Imwe Thread Indirect Branch Predictors) paunosarudza IBRS kudzivirira maitiro.
    • Kune ARM64-yakavakirwa masisitimu, nyowani "virtconfig" yekuvaka tarisiro yakawedzerwa, iyo, kana yasarudzwa, inomisa chete shoma seti yezvikamu zve kernel zvinodiwa kubhutsu mumasisitimu ekuona.
    • Yakawedzera tsigiro yekusefa system inofona uchishandisa iyo seccomp mashandiro eiyo m68k architecture.
    • Yakawedzerwa rutsigiro rwe AMD Ryzen processors 'yakavakirwa-mukati CRB TPM2 (Command Response Buffer) zvishandiso zvinoenderana neMicrosoft Pluton tekinoroji.
  • Network subsystem
    • Iyo netlink interface yakawedzerwa kugadzirisa iyo PLCA (Physical Layer Collision Avoidance) sublayer, inotsanangurwa muIEEE 802.3cg-2019 yakatarwa uye inoshandiswa mu802.3cg (10Base-T1S) Ethernet network yakagadziridzwa yekubatanidza IoT zvishandiso nemaindasitiri masisitimu. Iko kushandiswa kwePLCA kunovandudza mashandiro pane yakagovaniswa midhiya Ethernet network.
    • Tsigiro ye "wireless edzedzero" API yekutonga WiFi 7 (802.11be) isina waya yekusangana yakamiswa, sezvo API iyi isingavharise ese anodiwa marongero. Paunenge uchiedza kushandisa "wireless edzedzero" API, iyo inoramba ichitsigirwa seyakateedzerwa dhizaini, yambiro ichave inoratidzwa kune mazhinji azvino zvishandiso.
    • Detailed zvinyorwa pane netlink API yakagadzirirwa (yevagadziri vekernel uye yevagadziri vevashandisi-nzvimbo yekushandisa). Iyo ynl-gen-c yekushandisa yakashandiswa kugadzira C-code zvichibva pane YAML yakatarwa yeNetlink protocol.
    • Tsigiro yeIP_LOCAL_PORT_RANGE sarudzo yawedzerwa kunetiweki sockets kurerutsa magadzirirwo ezvinobuda kuburikidza nevanoshandura kero pasina kushandisa SNAT. Paunenge uchishandisa imwe kero yeIP pane akawanda mahosisiti, IP_LOCAL_PORT_RANGE inobvumira mugadziri wega wega kushandisa huwandu hwayo hwemanetiweki anobuda, uye pamusuwo wekuendesa mapaketi zvichienderana nenhamba dzechiteshi.
    • YeMPTCP (MultiPath TCP), kugona kubata hova dzakasanganiswa dzinoshandisa IPv4 uye IPv6 protocol dzinoitwa. MPTCP ndeyekuwedzera kweTCP protocol yekuronga kushanda kweTCP yekubatanidza nekutumirwa kwemapaketi panguva imwe chete munzira dzakawanda kuburikidza netiweki interfaces dzakasiyana dzakasungwa kune akasiyana IP kero.
    • Kune IPv4, mukana wekushandisa iyo BIG TCP yekuwedzera inoshandiswa, iyo inobvumira kuwedzera yakakura TCP packet saizi kusvika ku4 GB kukwidziridza kushanda kweyepamusoro-yemukati network yedata data. Uku kuwedzera kwehukuru hwepakiti ine 16-bit musoro wemunda unowanikwa nekushandisa "jumbo" mapaketi ane IP musoro wemusoro wakaiswa ku0 uye saizi chaiyo inofambiswa mune yakaparadzana 32-bit ndima mune yakaparadzaniswa yakanamatira musoro.
    • Iyo nyowani sysctl parameter default_rps_mask yakawedzerwa, kuburikidza iyo iwe yaunogona kuseta iyo default RPS (Receive Packet Steering) kumisikidza, iyo ine basa rekugovera kugadziridzwa kweinouya traffic mukati meCPU cores painovhiringidza mubato level.
    • Kurambwa kwerutsigiro rwekuita mitsara kudzikamisa CBQ (class-based queuing), ATM (ATM virtual circuits), dsmark (differentiated service marker), tcindex (traffic-control index), uye RSVP (resource reservation protocol) traffic. Zvirango izvi zvakasiiwa kwenguva yakareba uye hapana aida kuramba achitsigira.
  • Zvigadzirwa
    • Yakabvisa ese DRI1 based graphics drivers: i810 (kare Intel 8xx integrated graphics cards), mga (Matrox GPU), r128 (ATI Rage 128 GPU inosanganisira Rage Fury, XPERT 99 uye XPERT 128 makadhi), savage (S3 Savage GPU), sis ( Crusty SiS GPU), tdfx (3dfx Voodoo) uye kuburikidza (VIA IGP), iyo yakabviswa muna 2016 uye haina kutsigirwa muMesa kubvira 2012.
    • Yakabviswa isingachashandi framebuffer (fbdev) madhiraivha omap1, s3c2410, tmiofb uye w100fb.
    • Mutyairi we DRM akawedzerwa kuVPU (Versatile Processing Unit) yakabatanidzwa muIntel Meteor Lake (14th chizvarwa) CPUs, yakagadzirirwa kukurumidzira kuona komputa uye mashandiro emuchina. Mutyairi anoitwa uchishandisa iyo "accel" subsystem, yakanangana nekupa tsigiro yemakomputa accelerators, ayo anogona kupihwa ese ari maviri muchimiro cheakasiyana ASICs uye seIP inovhara mukati meSoC neGPU.
    • Iyo i915 (Intel) mutyairi anowedzera rutsigiro rwe discrete Intel Arc (DG2/Alchemist) makadhi emifananidzo, inopa rubatsiro rwekutanga rweMeteor Lake GPUs, uye inosanganisira rutsigiro rweIntel Xe HP 4tile GPUs.
    • Iyo amdgpu mutyairi anowedzera tsigiro yeAdaptiveSync tekinoroji uye kugona kushandisa Yakachengeteka Display ine akawanda maratidziro. Rutsigiro rwakavandudzwa rweDCN 3.2 (Display Core Next), SR-IOV RAS, VCN RAS, SMU 13.x uye DP 2.1.
    • Yakawedzerwa rutsigiro rweSM8350, SM8450 SM8550, SDM845 uye SC8280XP mapuratifomu kune msm mutyairi (GPU Qualcomm Adreno).
    • Mutyairi weNouveau adonhedza tsigiro yemafoni ekare eoctl.
    • Tsigiro yekuyedza yeNPU VerSilicon (VeriSilicon Neural Network processor) yawedzerwa kumutyairi weetnaviv.
    • Iyo pata_parport mutyairi weIDE madhiraivha akabatana kuburikidza neyakafanana chiteshi yaitwa. Mutyairi akawedzerwa akaita kuti zvibvire kubvisa mutyairi wePARIDE wekare kubva kukernel uye kukwidziridza iyo ATA subsystem. Kuganhurirwa kwemutyairi mutsva kusakwanisa kubatanidza printer panguva imwe chete nedhisiki kuburikidza nechiteshi chakafanana.
    • Yakawedzerwa ath12k mutyairi wemakadhi asina waya akavakirwa pamachipi eQualcomm ane Wi-Fi 7. Rutsigiro rwakawedzerwa rwemakadhi asina waya anobva paRealTek RTL8188EU chips.
    • Yakawedzerwa tsigiro yemabhodhi makumi mana nematanhatu kubva pakuvakwa kweARM46, kusanganisira Samsung Galaxy S64, BananaPi R2015, Debix Model A, EmbedFire LubanCat 5/3, Facebook Greatlakes, Orange Pi R1 Plus, Tesla FSD, uye zvakare zvishandiso. zvichibva paSoC Qualcomm MSM2 (Snapdragon 1), SM8953 (Snapdragon 610 Gen 8550), SDM8 uye SDM2, Rockchips RK450 TV box, RV632 Vision, RK3128, RK1126, RK3588, RK3568, RK3566, RK3588 AM3328 AM3, RK642, RK654 AM68, RK69, RKXNUMXAM, RKTIXNUMXAMXNUMX, RKXNUMXAM XNUMXAM XNUMXAM XNUMX, RKTI XNUMX AM XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX AM bhokisi box). XNUMX/AMXNUMX / AMXNUMX).

Panguva imwecheteyo, iyo Latin America Yemahara Software Foundation yakagadzira mutsauko weiyo yemahara kernel 6.3 - Linux-libre 6.3-gnu, yakacheneswa firmware uye zvinhu zvemutyairi zvine zvinhu zvisiri zvemahara kana zvikamu zvekodhi, chiyero chayo chinogumira. mugadziri. Mukuburitswa 6.3, mabhurobhu akacheneswa mune nyowani ath12k, aw88395, uye peb2466 madhiraivha, pamwe nemafaira matsva emudziyo weAArch64-based qcom zvishandiso. Yakagadziridzwa blobs yekuchenesa kodhi mumadhiraivha uye subsystems amdgpu, xhci-rcar, qcom-q6v5-pas, sp8870, av7110, pamwe chete nemadhiraivha eDVB-makadhi ane software decoding uye mune akafanorongwa BPF mafaera. Yakamisa kuchenesa vatyairi mga, r128, tm6000, cpia2 uye r8188eu pavakabviswa mukernel. Yakavandudzwa i915 mutyairi blob yekuchenesa.

Source: opennet.ru

Voeg