Kaluaran kernel Linux 6.3

Saatos dua bulan pangwangunan, Linus Torvalds nampilkeun sékrési kernel Linux 6.3. Diantara parobihan anu paling penting: ngabersihan platform ARM warisan sareng supir grafik, integrasi terus tina dukungan basa Rust, utilitas hwnoise, dukungan pikeun struktur tangkal beureum-hideung di BPF, modeu BIG TCP pikeun IPv4, patokan Dhrystone anu diwangun, kamampuan nganonaktipkeun palaksanaan di memfd, ngarojong nyieun drivers HID maké BPF, parobahan geus dijieun pikeun Btrfs pikeun ngurangan fragméntasi grup block.

Versi anyar kalebet 15637 perbaikan tina 2055 pamekar; ukuran patch - 76 MB (parobahan kapangaruhan 14296 file, 1023183 garis kode ditambahkeun, 883103 garis dihapus). Ku ngabandingkeun, versi saméméhna ditawarkeun 16843 perbaikan ti 2178 pamekar; ukuran patch nyaéta 62 MB. Sakitar 39% sadaya parobihan anu diwanohkeun dina kernel 6.3 aya hubunganana sareng supir alat, sakitar 15% parobihan aya hubunganana sareng pembaruan kode khusus pikeun arsitéktur hardware, 10% aya hubunganana sareng tumpukan jaringan, 5% aya hubunganana sareng sistem file, sareng 3% aya hubunganana sareng subsistem kernel internal.

Inovasi konci dina kernel 6.3:

  • Mémori sareng jasa sistem
    • Ngabersihan kode anu penting anu aya hubunganana sareng papan ARM anu lami sareng henteu dianggo dilaksanakeun, anu ngamungkinkeun pikeun ngirangan ukuran kode sumber kernel ku 150 rébu garis. Langkung ti 40 platform ARM lami parantos dipiceun.
    • Kamampuhan pikeun nyiptakeun panggerak pikeun alat input kalayan antarmuka HID (Alat Antarmuka Manusa), dilaksanakeun dina bentuk program BPF, parantos dilaksanakeun.
    • Mindahkeun tina cabang Rust-pikeun-Linux fungsionalitas tambahan anu aya hubunganana sareng panggunaan basa Rust salaku basa kadua pikeun ngembangkeun supir sareng modul kernel parantos diteruskeun. Pangrojong Rust henteu diaktipkeun sacara standar, sareng henteu nyababkeun Rust kalebet salaku gumantungna ngawangun kernel anu diperyogikeun. Fungsionalitas anu ditawarkeun dina sékrési saméméhna parantos dilegakeun pikeun ngadukung jinis Arc (palaksanaan pointer kalayan jumlah rujukan), ScopeGuard (ngabersihan nalika kaluar tina wengkuan) sareng ForeignOwnable (nyadiakeun gerakan pointer antara kode C sareng Rust). Modul 'nginjeum' (tipe 'Sapi' sareng sipat 'ToOwned') parantos dipiceun tina pakét 'alloc'. Perhatikeun yén kaayaan pangrojong Rust dina kernel parantos caket sareng mimiti nampi modul munggaran anu ditulis dina Rust kana kernel.
    • Linux Ubuntu mode-pamaké (ngajalankeun kernel salaku prosés pamaké) dina sistem x86-64 implements rojongan pikeun kode ditulis dina basa Rust. Ditambahkeun rojongan pikeun ngawangun pamaké-mode Linux Ubuntu ngagunakeun clang kalawan link-waktu optimizations (LTO) diaktipkeun.
    • Katambah utilitas hwnoise pikeun ngalacak telat anu disababkeun ku hardware. Panyimpangan dina waktos palaksanaan operasi (jitter) ditangtukeun nalika prosés interupsi ditumpurkeun, ngaleuwihan hiji mikrodetik per 10 menit itungan.
    • Ditambahkeun modul kernel anu ngalaksanakeun patokan Dhrystone, anu tiasa dianggo pikeun ngévaluasi kinerja CPU dina konfigurasi tanpa komponén rohangan-pamaké (contona, dina tahap porting pikeun SoCs énggal anu ngan ukur ngalaksanakeun kernel loading).
    • Ditambahkeun parameter garis paréntah kernel "cgroup.memory = nobpf", nu disables akuntansi konsumsi memori pikeun program BPF, nu bisa jadi mangpaat pikeun sistem kalawan peti terasing.
    • Pikeun program BPF diusulkeun palaksanaan struktur data tangkal beureum-hideung, nu ngagunakeun kfunc + kptr (bpf_rbtree_add, bpf_rbtree_remove, bpf_rbtree_first) tinimbang nambahkeun tipe pemetaan anyar.
    • Mékanisme urutan restartable (rseq, runtuyan restartable) geus ditambahkeun kamampuhan pikeun mindahkeun identifiers palaksanaan paralel (memori-peta concurrency ID) kana prosés, dicirikeun ku jumlah CPU. Rseq nyadiakeun sarana pikeun gancang ngaéksekusi operasi atom, nu lamun interrupted ku thread sejen cleaned up na usaha deui.
    • prosesor ARM ngarojong SME 2 (Scalable Matrix Extension) parentah.
    • Pikeun arsitéktur s390x sareng RISC-V RV64, dukungan pikeun mékanisme "trampoline BPF" parantos dilaksanakeun, anu ngamungkinkeun ngaminimalkeun overhead nalika nransferkeun telepon antara program kernel sareng BPF.
    • Dina sistem kalayan prosesor dumasar kana arsitektur RISC-V, pamakéan "ZBB" parentah dilaksanakeun pikeun nyepetkeun operasi string.
    • Pikeun sistem dumasar kana arsitektur set instruksi LoongArch (dipaké dina Loongson 3 5000 prosesor sarta ngalaksanakeun RISC Isa anyar, sarupa jeung MIPS na RISC-V), rojongan pikeun randomization spasi alamat kernel (KASLR), parobahan panempatan memori kernel (relokasi). ), titik hardware dilaksanakeun eureun jeung mékanisme kprobe.
    • DAMOS (Data Aksés pangimeutan basis Skéma Operasi) mékanisme, nu ngidinan Anjeun pikeun ngosongkeun memori dumasar kana frékuénsi aksés memori, ngarojong saringan pikeun ngaluarkeun wewengkon memori tangtu tina ngolah dina DAMOS.
    • Nolibc minimal standar perpustakaan C nyadiakeun rojongan pikeun arsitektur s390 jeung Arm Thumb1 instruksi set (salian rojongan pikeun ARM, AArch64, i386, x86_64, RISC-V na MIPS).
    • Objtool geus dioptimalkeun pikeun nyepetkeun assembly kernel jeung ngurangan konsumsi memori puncak salila assembly (lamun ngawangun kernel dina mode "allyesconfig", euweuh masalah jeung terminasi kapaksa prosés dina sistem kalawan 32 GB RAM).
    • Rojongan pikeun rakitan kernel ku kompiler Intel ICC parantos dileungitkeun, anu parantos lami teu dianggo sareng teu aya anu nyatakeun kahayang pikeun ngalereskeunana.
  • Subsistem Disk, I/O sareng Sistem File
    • tmpfs ngalaksanakeun dukungan pikeun pemetaan ID pangguna tina sistem file anu dipasang, dianggo pikeun cocog sareng file pangguna khusus dina partisi asing anu dipasang sareng pangguna sanés dina sistem ayeuna.
    • Dina Btrfs, pikeun ngurangan fragméntasi grup blok, extents dibagi ku ukuran nalika allocating blok, i.e. sagala grup blok ayeuna dugi ka leutik (nepi ka 128KB), sedeng (nepi ka 8 MB) jeung extent badag. Palaksanaan raid56 geus refactored. Kodeu pikeun mariksa checksum parantos didamel deui. Optimasi kinerja geus dijieun pikeun nyepetkeun operasi ngirim nepi ka 10 kali ku cache utime pikeun diréktori jeung executing paréntah ngan lamun perlu. Operasi Fiemap ayeuna tilu kali langkung gancang ku ngalangkungan cek backlink pikeun data anu dibagi (snapshots). Operasi sareng metadata parantos digancangan ku 10% ku ngaoptimalkeun milarian konci dina struktur b-tangkal.
    • Kinerja sistem file ext4 parantos ningkat ku ngamungkinkeun sababaraha prosés sakaligus ngalaksanakeun operasi I / O langsung dina blok anu tos dialokasikeun nganggo konci inode anu dibagi tinimbang konci ekslusif.
    • Dina f2fs, gawé geus dipigawé pikeun ngaronjatkeun readability kode. Ngarengsekeun masalah penting nu patali jeung nulis atom jeung cache extent anyar.
    • Sistem file EROFS (Enhanced Read-Only File System), dirancang pikeun dianggo dina partisi anu dibaca wungkul, ngalaksanakeun kamampuan pikeun ngabeungkeut operasi dekompresi eusi file anu dikomprés kana CPU pikeun ngirangan latency nalika ngaksés data.
    • The BFQ I / O scheduler geus ditambahkeun rojongan pikeun spinning disk drive canggih, kayaning nu ngagunakeun sababaraha sirah drive dikawasa misah (Multi Actuators).
    • Rojongan pikeun enkripsi data ngagunakeun algoritma AES-SHA2 geus ditambahkeun kana klien NFS sarta palaksanaan server.
    • Rojongan pikeun mékanisme ékspansi query geus ditambahkeun kana subsistem FUSE (Filesystems In User Space), sahingga informasi tambahan bisa disimpen dina query. Dumasar fitur ieu, kasebut nyaéta dimungkinkeun pikeun nambahkeun grup identifiers kana pamundut FS, nu perlu tumut kana akun hak aksés nalika nyieun objék dina FS (nyieun, mkdir, symlink, mknod).
  • Virtualisasi sareng Kaamanan
    • KVM hypervisor pikeun sistem x86 geus ditambahkeun rojongan pikeun hypercalls nambahan Hyper-V sarta nyadiakeun diteruskeun maranéhna pikeun Handler ngajalankeun di lingkungan host dina spasi pamaké. Parobihan éta ngamungkinkeun pikeun nerapkeun dukungan pikeun peluncuran hypervisor Hyper-V.
    • KVM ngagampangkeun pikeun ngawatesan aksés tamu kana acara PMU (Performance Monitor Unit) anu aya hubunganana sareng pangukuran kinerja.
    • Mékanisme memfd, anu ngamungkinkeun anjeun pikeun ngaidentipikasi daérah mémori ngalangkungan deskriptor file anu ditransfer antara prosés, parantos nambihan kamampuan pikeun nyiptakeun daérah dimana palaksanaan kode dilarang (non-eksekusi memfd) sareng mustahil pikeun nyetél hak palaksanaan di hareup. .
    • Operasi prctl anyar PR_SET_MDWE geus ditambahkeun yén blok usaha Aktipkeun hak aksés memori nu sakaligus ngidinan nulis jeung palaksanaan.
    • Perlindungan ngalawan serangan kelas Specter parantos ditambihan sareng diaktipkeun sacara standar, dumasar kana mode IBRS otomatis (Enhanced Indirect Branch Restricted Spekulasi) anu diajukeun dina prosesor AMD Zen 4, anu ngamungkinkeun adaptif ngamungkinkeun sareng nganonaktipkeun palaksanaan spekulatif paréntah nalika ngolah interupsi, nelepon sistem sareng switch konteks. Protéksi anu diusulkeun nyababkeun overhead anu langkung handap dibandingkeun sareng panyalindungan Retpoline.
    • Ngalereskeun kerentanan anu ngamungkinkeun panyalindungan bypassing ngalawan serangan Specter v2 nalika nganggo téknologi multi-threading sakaligus (SMT atanapi Hyper-Threading) sareng disababkeun ku nganonaktipkeun mékanisme STIBP (Single Thread Indirect Branch Predictors) nalika milih mode panyalindungan IBRS.
    • Pikeun sistem dumasar kana arsitektur ARM64, udagan assembly anyar "virtconfig" geus ditambahkeun, lamun dipilih, ngan set minimum komponén kernel diperlukeun pikeun boot dina sistem virtualization diaktipkeun.
    • Pikeun arsitéktur m68k, dukungan pikeun nyaring sauran sistem nganggo mékanisme seccomp parantos ditambahkeun.
    • Ditambahkeun dukungan pikeun alat CRB TPM2 (Command Response Buffer) anu diwangun kana prosesor AMD Ryzen, dumasar kana téknologi Microsoft Pluton.
  • Subsistem jaringan
    • Antarbeungeut netlink parantos ditambahkeun pikeun ngonpigurasikeun sublayer PLCA (Physical Layer Collision Avoidance), didefinisikeun dina spésifikasi IEEE 802.3cg-2019 sareng dianggo dina jaringan Ethernet 802.3cg (10Base-T1S) anu dioptimalkeun pikeun nyambungkeun Internet of Things sareng sistem industri. Pamakéan PLCA ngaronjatkeun kinerja dina jaringan Ethernet jeung média dibagikeun.
    • Rojongan pikeun "ekstensi nirkabel" API pikeun ngatur WiFi 7 (802.11be) interfaces nirkabel geus dieureunkeun saprak API ieu teu nutupan sakabéh setélan perlu. Nalika nyobian nganggo API "ekstensi nirkabel", anu terus dirojong salaku lapisan anu ditiru, peringatan ayeuna bakal ditingalikeun pikeun kalolobaan alat ayeuna.
    • Dokuméntasi lengkep ngeunaan API netlink parantos disiapkeun (pikeun pamekar inti sareng pamekar aplikasi rohangan-pamaké). Utilitas ynl-gen-c parantos dilaksanakeun pikeun ngahasilkeun kode C dumasar kana spésifikasi YAML tina protokol Netlink.
    • Rojongan pikeun pilihan IP_LOCAL_PORT_RANGE geus ditambahkeun kana sockets jaringan pikeun mempermudah konfigurasi sambungan kaluar ngaliwatan penerjemah alamat tanpa ngagunakeun SNAT. Lamun maké hiji alamat IP dina sababaraha host, IP_LOCAL_PORT_RANGE ngamungkinkeun ngagunakeun rentang béda tina palabuhan jaringan kaluar dina unggal host, sarta pakét maju dumasar kana nomer port on gateway nu.
    • Pikeun MPTCP (MultiPath TCP), kamampuan pikeun ngolah aliran campuran nganggo protokol IPv4 sareng IPv6 parantos dilaksanakeun. MPTCP mangrupa extension tina protokol TCP pikeun ngatur operasi sambungan TCP jeung pangiriman pakét sakaligus sapanjang sababaraha ruteu ngaliwatan interfaces jaringan béda pakait sareng alamat IP béda.
    • Pikeun IPv4, kasebut nyaéta dimungkinkeun pikeun ngagunakeun extension BIG TCP, nu ngidinan Anjeun pikeun ngaronjatkeun ukuran pakét TCP maksimum ka 4GB pikeun ngaoptimalkeun operasi jaringan puseur data internal-speed tinggi. Paningkatan anu sami dina ukuran pakét kalayan ukuran médan header 16-bit dihontal ku palaksanaan pakét "jumbo", ukuran dina header IP disetél ka 0, sareng ukuran saleresna dikirimkeun dina 32-bit anu misah. widang dina header napel misah.
    • A sysctl parameter default_rps_mask anyar geus ditambahkeun, ngaliwatan nu Anjeun tiasa nyetel RPS standar (Narima Packet Steering) konfigurasi, nu tanggung jawab ngadistribusikaeun ngolah lalulintas asup sakuliah cores CPU dina tingkat Handler interrupt.
    • Rojongan pikeun disiplin processing antrian pikeun ngawatesan CBQ (antrian basis kelas), ATM (ATM virtual circuit), dsmark (differentiated service marker), tcindex (indéks kontrol-lalulintas) jeung RSVP (protokol reservations sumberdaya) lalulintas geus dilanjutkeun. Disiplin ieu parantos lami ditinggalkeun sareng teu aya anu daék neraskeun dukunganana.
  • pakakas
    • Dipiceun sagala drivers grafik DRI1 dumasar: i810 (kolot terpadu Intel 8xx kartu grafik), mga (Matrox GPU), r128 (ATI ngamuk 128 GPU, kaasup ngamuk ngamuk, XPERT 99 sarta XPERT 128 kartu), biadab (S3 Savage GPU), sis (Crusty SiS GPU), tdfx (3dfx Voodoo) sareng via (VIA IGP), anu dileungitkeun dina 2016 sareng teu acan dirojong di Mesa ti 2012.
    • Dipiceun supir framebuffer warisan (fbdev) omap1, s3c2410, tmiofb na w100fb.
    • A supir DRM geus ditambahkeun pikeun VPU (Unit Processing serbaguna) terpadu kana CPU Intel Meteor Lake (generasi ka-14), dirancang pikeun nyepetkeun operasi patali visi komputer jeung learning mesin. Supir dilaksanakeun nganggo subsistem "accel", ditujukeun pikeun nyayogikeun dukungan pikeun akselerator komputasi, anu tiasa disayogikeun dina bentuk ASIC individu atanapi salaku blok IP di jero SoC sareng GPU.
    • supir i915 (Intel) expands rojongan pikeun diskrit Intel Arc (DG2 / Alchemist) kartu grafik, nyadiakeun rojongan awal pikeun Meteor Lake GPUs, tur ngawengku rojongan pikeun Intel Xe HP 4ubin GPUs.
    • Supir amdgpu nambihan dukungan pikeun téknologi AdaptiveSync sareng kamampuan ngagunakeun mode Secure Display sareng sababaraha tampilan. rojongan diropéa pikeun DCN 3.2 (Tampilan Core salajengna), SR-IOV RAS, VCN RAS, SMU 13.x jeung DP 2.1.
    • Supir msm (Qualcomm Adreno GPU) parantos nambihan dukungan pikeun platform SM8350, SM8450 SM8550, SDM845 sareng SC8280XP.
    • Supir Nouveau henteu deui ngadukung telepon ioctl lami.
    • Rojongan ékspérimén pikeun NPU VerSilicon (VeriSilicon Neural Network Processor) geus ditambahkeun kana supir etnaviv.
    • supir pata_parport geus dilaksanakeun pikeun IDE drive disambungkeun via port paralel. Supir tambihan ngamungkinkeun urang ngahapus supir PARIDE lami tina kernel sareng modéren subsistem ATA. Watesan supir anyar nyaéta henteu mampuh nyambungkeun printer sareng disk sakaligus nganggo port paralel.
    • Ditambahkeun supir ath12k pikeun kartu nirkabel dina chip Qualcomm ngarojong Wi-Fi 7. Ditambahkeun rojongan pikeun kartu nirkabel dina chip RealTek RTL8188EU.
    • Ditambahkeun dukungan pikeun 46 papan sareng prosesor dumasar kana arsitektur ARM64, kalebet 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, sareng Alat alatna dumasar kana industri Valm8953 (snapdraptron 610), SM8550 (snapdragon 8, rrm2 sareng SDM450 sareng SDM632 sareng SDM3128 sareng SD1126, SDMS3588 sareng SDM3568 sareng SDM3566 sareng SDM3588 sareng SDM3328 sareng SDM3 sareng SDM642 sareng SD654, SDMAs RV68, AP69, SDMXNUMX sareng SDXNUMX, SDMXNUMX sareng SDXNUMX, SDMXNUMX sareng SDMXNUMX sareng SDMXNUMX sareng SDXNUMX, SDMAs RXNUMX AMXNUMX / AMXNUMX).

Dina waktos anu sami, Yayasan Perangkat Lunak Gratis Amérika Latin ngawangun versi kernel gratis 6.3 - Linux-libre 6.3-gnu, dibersihkeun tina unsur firmware sareng supir anu ngandung komponén non-gratis atanapi bagian kode, ruang lingkupna nyaéta. diwatesan ku produsén. Dina release 6.3, blobs diberesihkeun dina drivers ath12k anyar, aw88395 sareng peb2466, kitu ogé dina file devicetree anyar pikeun alat qcom dumasar kana arsitektur AArch64. Kode beberesih blob diropéa dina drivers sarta subsistem amdgpu, xhci-rcar, qcom-q6v5-pas, sp8870, av7110, kitu ogé dina drivers pikeun kartu DVB kalawan software decoding jeung dina file BPF precompiled. Dibersihkeun drivers mga, r128, tm6000, cpia2 na r8188eu geus dieureunkeun saprak maranéhna geus dikaluarkeun tina kernel. Ningkat i915 supir blob beberesih.

sumber: opennet.ru

Tambahkeun komentar