Rilis kernel Linux 6.3

Sawise rong wulan pangembangan, Linus Torvalds nampilake rilis kernel Linux 6.3. Antarane owah-owahan sing paling penting: ngresiki platform ARM warisan lan driver grafis, terus integrasi dhukungan basa Rust, sarana hwnoise, dhukungan kanggo struktur wit abang-ireng ing BPF, mode BIG TCP kanggo IPv4, pathokan Dhrystone sing dibangun, kemampuan kanggo mateni eksekusi ing memfd, ndhukung nggawe pembalap HID nggunakake BPF, owah-owahan wis digawe kanggo Btrfs kanggo ngurangi fragmentasi kelompok pemblokiran.

Versi anyar kalebu 15637 ndandani saka 2055 pangembang; ukuran tembelan - 76 MB (pangowahan kena pengaruh 14296 file, 1023183 baris kode ditambahake, 883103 baris dibusak). Miturut perbandingan, versi sadurunge nawakake 16843 perbaikan saka 2178 pangembang; ukuran patch punika 62 MB. Udakara 39% saka kabeh owah-owahan ing kernel 6.3 ana gandhengane karo driver piranti, kira-kira 15% owah-owahan ana gandhengane karo nganyari kode khusus kanggo arsitektur hardware, 10% ana gandhengane karo tumpukan jaringan, 5% ana gandhengane karo sistem file, lan 3% ana hubungane karo subsistem kernel internal.

Inovasi utama ing kernel 6.3:

  • Layanan memori lan sistem
    • Pembersihan kode sing signifikan sing ana gandhengane karo papan ARM sing lawas lan ora digunakake ditindakake, sing bisa nyuda ukuran kode sumber kernel kanthi 150 ewu baris. Luwih saka 40 platform ARM lawas wis dibusak.
    • Kemampuan kanggo nggawe driver kanggo piranti input kanthi antarmuka HID (Human Interface Device), sing diimplementasikake ing wangun program BPF, wis dileksanakake.
    • Transfer fungsi tambahan saka cabang Rust-for-Linux sing ana gandhengane karo panggunaan basa Rust minangka basa liya kanggo ngembangake driver lan modul kernel terus. Dhukungan Rust ora diaktifake kanthi gawan, lan ora nyebabake Rust kalebu minangka ketergantungan mbangun kernel sing dibutuhake. Fungsionalitas sing ditawakake ing rilis sadurunge wis ditambahi kanggo ndhukung jinis Arc (implementasi penunjuk kanthi jumlah referensi), ScopeGuard (ngresiki nalika metu saka ruang lingkup) lan ForeignOwnable (nyedhiyakake gerakan penunjuk ing antarane kode C lan Rust). Modul 'pinjam' (jinis 'Sapi' lan sifat 'ToOwned') wis dibusak saka paket 'alloc'. Kacathet yen negara dhukungan Rust ing kernel wis cedhak karo miwiti nampa modul pisanan sing ditulis ing Rust menyang kernel.
    • Linux mode pangguna (mlaku kernel minangka proses pangguna) ing sistem x86-64 ngetrapake dhukungan kanggo kode sing ditulis ing basa Rust. Dhukungan ditambahake kanggo mbangun Linux mode pangguna nggunakake clang kanthi optimasi link-wektu (LTO) aktif.
    • Nambahake sarana hwnoise kanggo nglacak telat sing disebabake dening hardware. Penyimpangan ing wektu eksekusi operasi (jitter) ditemtokake nalika proses interupsi dipateni, ngluwihi siji mikrodetik saben 10 menit pitungan.
    • Nambahake modul kernel sing ngetrapake pathokan Dhrystone, sing bisa digunakake kanggo ngevaluasi kinerja CPU ing konfigurasi tanpa komponen ruang pangguna (contone, ing tahap porting kanggo SoC anyar sing mung ngetrapake kernel loading).
    • Nambahake parameter baris printah kernel "cgroup.memory = nobpf", kang disables accounting konsumsi memori kanggo program BPF, kang bisa migunani kanggo sistem karo wadhah terisolasi.
    • Kanggo program BPF, implementasine saka struktur data wit abang-ireng ngajokaken, kang nggunakake kfunc + kptr (bpf_rbtree_add, bpf_rbtree_remove, bpf_rbtree_first) tinimbang nambah jinis pemetaan anyar.
    • Mekanisme urutan restartable (rseq, restartable urutan) wis nambah kemampuan kanggo nransfer pengenal eksekusi paralel (memori-peta concurrency ID) kanggo pangolahan, dikenali karo nomer CPU. Rseq nyedhiyakake sarana kanggo nglakokake operasi kanthi cepet kanthi atom, sing, yen diselani dening benang liyane, bakal diresiki lan dicoba maneh.
    • Prosesor ARM ndhukung instruksi SME 2 (Scalable Matrix Extension).
    • Kanggo arsitektur s390x lan RISC-V RV64, dhukungan kanggo mekanisme "trampolin BPF" wis dileksanakake, sing ngidini nyilikake overhead nalika nransfer telpon antarane program kernel lan BPF.
    • Ing sistem karo prosesor adhedhasar arsitektur RISC-V, nggunakake instruksi "ZBB" dileksanakake kanggo nyepetake operasi senar.
    • Kanggo sistem adhedhasar arsitektur pesawat instruksi LoongArch (digunakake ing Loongson 3 5000 prosesor lan ngleksanakake RISC ISA anyar, padha karo MIPS lan RISC-V), dhukungan kanggo acak ruang alamat kernel (KASLR), owah-owahan ing panggonan seko memori kernel (relokasi). ), titik hardware dileksanakake mandeg lan mekanisme kprobe.
    • Mekanisme DAMOS (Skema Operasi adhedhasar Pemantauan Akses Data), sing ngidini sampeyan mbebasake memori adhedhasar frekuensi akses memori, ndhukung saringan kanggo ngilangi wilayah memori tartamtu saka proses ing DAMOS.
    • Perpustakaan C standar minimal Nolibc nyedhiyakake dhukungan kanggo arsitektur s390 lan set instruksi Arm Thumb1 (saliyane ndhukung ARM, AArch64, i386, x86_64, RISC-V lan MIPS).
    • Objtool wis dioptimalake kanggo nyepetake perakitan kernel lan nyuda konsumsi memori puncak sajrone perakitan (nalika mbangun kernel ing mode "allyesconfig", saiki ora ana masalah karo proses mandap paksa ing sistem kanthi 32 GB RAM).
    • Dhukungan kanggo perakitan kernel dening kompiler Intel ICC wis mandheg, sing wis suwe ora bisa digunakake lan ora ana sing ngucapake kepinginan kanggo ndandani.
  • Subsistem disk, I/O lan sistem file
    • tmpfs ngetrapake dhukungan kanggo pemetaan ID pangguna sistem file sing dipasang, digunakake kanggo cocog karo file pangguna tartamtu ing partisi asing sing dipasang karo pangguna liyane ing sistem saiki.
    • Ing Btrfs, kanggo ngurangi fragmentasi klompok pamblokiran, extents dibagi dening ukuran nalika allocating pamblokiran, i.e. sembarang klompok pamblokiran saiki diwatesi kanggo cilik (nganti 128KB), medium (nganti 8 MB) lan extent gedhe. Implementasi raid56 wis refactored. Kode kanggo mriksa checksum wis digarap maneh. Optimasi kinerja wis digawe kanggo nyepetake operasi kirim nganti kaping 10 kanthi caching utime kanggo direktori lan nglakokake perintah mung yen perlu. Operasi Fiemap saiki luwih cepet kaping telu kanthi ngliwati pamriksan backlink kanggo data sing dienggo bareng (snapshots). Operasi karo metadata wis digawe cepet 10% kanthi ngoptimalake panelusuran kanggo kunci ing struktur b-tree.
    • Kinerja sistem file ext4 wis apik kanthi ngidini macem-macem proses kanggo nindakake operasi I / O langsung ing blok sing wis dialokasiake nggunakake kunci inode sing dienggo bareng tinimbang kunci eksklusif.
    • Ing f2fs, karya wis rampung kanggo nambah maca kode. Ngrampungake masalah penting sing ana gandhengane karo tulisan atom lan cache anyar.
    • Sistem file EROFS (Enhanced Read-Only File System), dirancang kanggo digunakake ing partisi mung diwaca, ngetrapake kemampuan kanggo ngiket operasi dekompresi isi file sing dikompres menyang CPU kanggo nyuda latensi nalika ngakses data.
    • Penjadwal BFQ I / O wis nambahake dhukungan kanggo drive disk spinning sing luwih maju, kayata sing nggunakake sawetara drive sirah sing dikontrol kanthi kapisah (Multi Actuator).
    • Dhukungan kanggo enkripsi data nggunakake algoritma AES-SHA2 wis ditambahake menyang implementasi klien lan server NFS.
    • Dhukungan kanggo mekanisme ekspansi query wis ditambahake menyang subsistem FUSE (Filesystems In User Space), saΓ©ngga informasi tambahan bisa diselehake ing query. Adhedhasar fitur iki, iku bisa kanggo nambah pengenal grup kanggo request FS, kang perlu kanggo njupuk menyang akun hak akses nalika nggawe obyek ing FS (nggawe, mkdir, symlink, mknod).
  • Virtualisasi lan Keamanan
    • KVM hypervisor kanggo sistem x86 wis ditambahakΓ© support kanggo Hyper-V lengkap hypercalls lan kasedhiya sing nerusake menyang handler mlaku ing lingkungan inang ing ruang panganggo. Owah-owahan kasebut ngidini kanggo ngetrapake dhukungan kanggo peluncuran hypervisor Hyper-V kanthi nested.
    • KVM nggampangake kanggo matesi akses tamu kanggo acara PMU (Performance Monitor Unit) related kanggo pangukuran kinerja.
    • Mekanisme memfd, sing ngidini sampeyan ngenali area memori liwat deskriptor file sing ditransfer ing antarane proses, nambah kemampuan kanggo nggawe wilayah sing dilarang eksekusi kode (memfd non-eksekusi) lan ora bisa nyetel hak eksekusi ing mangsa ngarep. .
    • Operasi prctl anyar PR_SET_MDWE wis ditambahake sing pamblokiran nyoba kanggo ngaktifake hak akses memori sing bebarengan ngidini nulis lan eksekusi.
    • Perlindhungan marang serangan kelas Spectre wis ditambahake lan diaktifake kanthi standar, adhedhasar mode IBRS otomatis (Enhanced Indirect Branch Restricted Speculation) sing diusulake ing prosesor AMD Zen 4, sing ngidini adaptif ngidini lan mateni eksekusi spekulatif instruksi sajrone proses interupsi, panggilan sistem lan ngalih konteks. Proteksi sing diusulake nyebabake overhead sing luwih murah dibandhingake karo proteksi Retpoline.
    • Ndandani kerentanan sing ngidini nglindhungi proteksi saka serangan Spectre v2 nalika nggunakake teknologi multi-threading simultan (SMT utawa Hyper-Threading) lan disebabake mateni mekanisme STIBP (Single Thread Indirect Branch Predictors) nalika milih mode proteksi IBRS.
    • Kanggo sistem adhedhasar arsitektur ARM64, target perakitan anyar "virtconfig" wis ditambahake, yen dipilih, mung set minimal komponen kernel sing dibutuhake kanggo boot ing sistem virtualisasi sing diaktifake.
    • Kanggo arsitektur m68k, dhukungan kanggo nyaring panggilan sistem nggunakake mekanisme seccomp wis ditambahake.
    • Dhukungan tambahan kanggo piranti CRB TPM2 (Command Response Buffer) sing dibangun ing prosesor AMD Ryzen, adhedhasar teknologi Microsoft Pluton.
  • Subsistem jaringan
    • Antarmuka netlink wis ditambahake kanggo ngatur sublayer PLCA (Physical Layer Collision Avoidance), sing ditetepake ing spesifikasi IEEE 802.3cg-2019 lan digunakake ing jaringan Ethernet 802.3cg (10Base-T1S) sing dioptimalake kanggo nyambungake piranti Internet of Things lan sistem industri. Panggunaan PLCA nambah kinerja ing jaringan Ethernet karo media sambungan.
    • Dhukungan kanggo API "ekstensi nirkabel" kanggo ngatur antarmuka nirkabel WiFi 7 (802.11be) wis mandheg amarga API iki ora kalebu kabeh setelan sing dibutuhake. Nalika nyoba nggunakake API "ekstensi nirkabel", sing terus didhukung minangka lapisan sing ditiru, bebaya saiki bakal ditampilake kanggo umume piranti saiki.
    • Dokumentasi rinci babagan API netlink wis disiapake (kanggo pangembang inti lan kanggo pangembang aplikasi ruang pangguna). Utilitas ynl-gen-c wis dileksanakake kanggo ngasilake kode C adhedhasar spesifikasi YAML saka protokol Netlink.
    • Dhukungan kanggo pilihan IP_LOCAL_PORT_RANGE wis ditambahake menyang soket jaringan kanggo nyederhanakake konfigurasi sambungan metu liwat penerjemah alamat tanpa nggunakake SNAT. Nalika nggunakake siji alamat IP ing sawetara sarwa dumadi, IP_LOCAL_PORT_RANGE ndadekake iku bisa kanggo nggunakake sawetara beda port jaringan metu ing saben host, lan paket nerusake adhedhasar nomer port ing gateway.
    • Kanggo MPTCP (MultiPath TCP), kemampuan kanggo ngolah campuran campuran nggunakake protokol IPv4 lan IPv6 wis dileksanakake. MPTCP minangka extension saka protokol TCP kanggo ngatur operasi sambungan TCP kanthi pangiriman paket bebarengan ing sawetara rute liwat antarmuka jaringan sing beda-beda sing ana gandhengane karo alamat IP sing beda.
    • Kanggo IPv4, sampeyan bisa nggunakake ekstensi BIG TCP, sing ngidini sampeyan nambah ukuran paket TCP maksimal nganti 4GB kanggo ngoptimalake operasi jaringan pusat data internal kanthi kacepetan dhuwur. Tambah ukuran paket sing padha karo ukuran kolom header 16-bit digayuh liwat implementasi paket "jumbo", ukuran ing header IP disetel dadi 0, lan ukuran nyata dikirim ing 32-bit sing kapisah. lapangan ing header ditempelake kapisah.
    • Parameter sysctl default_rps_mask anyar wis ditambahake, sing sampeyan bisa nyetel konfigurasi RPS standar (Nampa Packet Steering), sing tanggung jawab kanggo nyebarake pangolahan lalu lintas mlebu ing inti CPU ing level handler interrupt.
    • Dhukungan kanggo disiplin pangolahan antrian kanggo matesi CBQ (antrian basis kelas), ATM (sirkuit virtual ATM), dsmark (marker layanan dibedakake), tcindex (indeks lalu lintas-kontrol) lan RSVP (protokol leladen sumber) wis mandheg. Disiplin kasebut wis suwe ditinggalake lan ora ana sing gelem nerusake dhukungan.
  • Peralatan
    • Mbusak kabeh driver grafis adhedhasar DRI1: i810 (terintegrasi kertu grafis Intel 8xx lawas), mga (Matrox GPU), r128 (ATI Rage 128 GPU, kalebu Rage Fury, XPERT 99 lan XPERT 128 kertu), galak (S3 Savage GPU), sis (Crusty SiS GPU), tdfx (3dfx Voodoo) lan liwat (VIA IGP), sing ora digunakake ing 2016 lan ora didhukung ing Mesa wiwit 2012.
    • Dibusak pembalap framebuffer warisan (fbdev) omap1, s3c2410, tmiofb lan w100fb.
    • Pembalap DRM wis ditambahake kanggo unit VPU (Unit Pemrosesan Serbaguna) sing terintegrasi ing CPU Intel Meteor Lake (generasi 14), sing dirancang kanggo nyepetake operasi sing ana gandhengane karo visi komputer lan pembelajaran mesin. Pembalap dileksanakake nggunakake subsistem "accel", ngarahake nyedhiyakake dhukungan kanggo akselerator komputasi, sing bisa diwenehake ing bentuk ASIC individu utawa minangka blok IP ing SoC lan GPU.
    • Pembalap i915 (Intel) nggedhekake dhukungan kanggo kertu grafis Intel Arc (DG2 / Alchemist) diskrit, menehi dhukungan awal kanggo GPU Meteor Lake, lan kalebu dhukungan kanggo GPU Intel Xe HP 4tile.
    • Driver amdgpu nambahake dhukungan kanggo teknologi AdaptiveSync lan kemampuan kanggo nggunakake mode Tampilan Aman kanthi macem-macem tampilan. Dhukungan dianyari kanggo DCN 3.2 (Tampilan Inti Sabanjure), SR-IOV RAS, VCN RAS, SMU 13.x lan DP 2.1.
    • Pembalap msm (Qualcomm Adreno GPU) wis nambahake dhukungan kanggo platform SM8350, SM8450 SM8550, SDM845 lan SC8280XP.
    • Pembalap Nouveau ora ndhukung telpon ioctl lawas maneh.
    • Dhukungan eksperimen kanggo NPU VerSilicon (VeriSilicon Neural Network Processor) wis ditambahake menyang driver etnaviv.
    • Pata_parport driver wis dipun ginakaken kanggo IDE drive disambungake liwat port podo. Pembalap sing ditambahake ngidini kita mbusak driver PARIDE lawas saka kernel lan modernisasi subsistem ATA. Watesan pembalap anyar yaiku ora bisa nyambungake printer lan disk kanthi bebarengan liwat port paralel.
    • Added driver ath12k kanggo kertu nirkabel ing chip Qualcomm ndhukung Wi-Fi 7. Added support kanggo kertu nirkabel ing Kripik RealTek RTL8188EU.
    • Dhukungan tambahan kanggo 46 papan kanthi prosesor adhedhasar arsitektur ARM64, kalebu 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, lan uga piranti adhedhasar MSM8953 SoC Qualcomm MSM610 (Snapdragon 8550), sm8 (Snapdragon 2 Gen 450), SDM632 lan RK3128, RK1126, TI K3588 (am3568 / AM3566 3588 / AM3328 / AM3).

Ing wektu sing padha, Yayasan Perangkat Lunak Gratis Amerika Latin mbentuk versi kernel gratis 6.3 - Linux-libre 6.3-gnu, ngresiki unsur perangkat kukuh lan driver sing ngemot komponen utawa bagean kode sing ora gratis, ruang lingkup yaiku diwatesi dening pabrikan. Ing release 6.3, blobs padha di resiki munggah ing driver ath12k, aw88395 lan peb2466 anyar, uga ing file devicetree anyar kanggo piranti qcom adhedhasar arsitektur AArch64. Kode reresik blob sing dianyari ing driver lan subsistem amdgpu, xhci-rcar, qcom-q6v5-pas, sp8870, av7110, uga ing driver kanggo kertu DVB kanthi dekoding piranti lunak lan ing file BPF sing wis dikompilasi. Reresik pembalap mga, r128, tm6000, cpia2 lan r8188eu wis mandegake wiwit padha dibusak saka kernel. Apik i915 driver blob cleaning.

Source: opennet.ru

Add a comment