Rilis kernel Linux 5.17

Sawise rong wulan pangembangan, Linus Torvalds nampilake rilis kernel Linux 5.17. Antarane owah-owahan sing paling penting: sistem manajemen kinerja anyar kanggo prosesor AMD, kemampuan kanggo peta rekursif ID pangguna ing sistem file, dhukungan kanggo program BPF kompilasi portabel, transisi generator nomer pseudo-acak menyang algoritma BLAKE2s, sarana RTLA. kanggo analisis eksekusi nyata-wektu, backend fscache anyar kanggo sistem file jaringan caching, kemampuan kanggo masang jeneng kanggo operasi mmap anonim.

Versi anyar kalebu 14203 koreksi saka 1995 pangembang, ukuran tembelan 37 MB (pangowahan kena 11366 file, 506043 baris kode ditambahake, 250954 baris dibusak). Udakara 44% saka kabeh owah-owahan sing dikenalake ing 5.17 ana gandhengane karo driver piranti, kira-kira 16% owah-owahan ana gandhengane karo nganyari kode khusus kanggo arsitektur hardware, 15% ana gandhengane karo tumpukan jaringan, 4% ana gandhengane karo sistem file, lan 4% ana hubungane karo subsistem kernel internal.

Inovasi utama ing kernel 5.17:

  • Subsistem disk, I/O lan sistem file
    • Dilaksanakake kamungkinan pemetaan nested ID pangguna saka sistem file sing dipasang, digunakake kanggo mbandhingake file pangguna tartamtu ing partisi manca sing dipasang karo pangguna liyane ing sistem saiki. Fitur sing ditambahake ngidini sampeyan nggunakake pemetaan kanthi rekursif ing ndhuwur sistem file sing wis ditrapake pemetaan.
    • Subsistem fscache, sing digunakake kanggo ngatur caching ing sistem file lokal data sing ditransfer liwat sistem file jaringan, wis rampung ditulis maneh. Implementasi anyar dibedakake kanthi nyederhanakake kode sing signifikan lan ngganti operasi kompleks saka perencanaan lan nelusuri negara obyek kanthi mekanisme sing luwih prasaja. Dhukungan kanggo fscache anyar dileksanakake ing sistem file CIFS.
    • Subsistem pelacakan acara ing fanotify FS ngleksanakake jinis acara anyar, FAN_RENAME, sing ngidini sampeyan langsung nyegat operasi ngganti jeneng file utawa direktori (sadurunge, rong acara kapisah FAN_MOVED_FROM lan FAN_MOVED_TO digunakake kanggo proses ganti jeneng).
    • Sistem berkas Btrfs wis ngoptimalake operasi logging lan fsync kanggo direktori gedhe, diimplementasikake kanthi nyalin mung tombol indeks lan nyuda jumlah metadata sing dicathet. Dhukungan kanggo indeksasi lan telusuran miturut ukuran rekaman ruang kosong wis diwenehake, sing nyuda latensi kira-kira 30% lan nyuda wektu telusuran. Diijini ngganggu operasi defragmentasi. Kemampuan kanggo nambah piranti nalika imbangan antarane drive dipatΓ¨ni, i.e. nalika masang sistem file kanthi opsi skip_balance.
    • A syntax anyar kanggo soyo tambah sistem file Ceph wis ngajokaken, mecahaken masalah ana gadhah naleni menyang alamat IP. Saliyane alamat IP, sampeyan saiki bisa nggunakake pengenal kluster (FSID) kanggo ngenali server: mount -t ceph [email dilindhungi]_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
    • Sistem file Ext4 wis dipindhah menyang API soyo tambah anyar sing misahake parsing opsi gunung lan langkah konfigurasi superblock. Kita wis ngeculake dhukungan kanggo opsi mount lazytime lan nolazytime, sing ditambahake minangka owah-owahan sementara kanggo nggampangake transisi util-linux kanggo nggunakake bendera MS_LAZYTIME. Nambahake dhukungan kanggo nyetel lan maca label ing FS (ioctl FS_IOC_GETFSLABEL lan FS_IOC_SETFSLABEL).
    • NFSv4 nambahake dhukungan kanggo nggarap sistem file sing ora sensitif cilik ing jeneng file lan direktori. NFSv4.1+ nambah dhukungan kanggo nemtokake sesi gabungan (trunking).
  • Layanan memori lan sistem
    • Added driver amd-pstate kanggo nyedhiyani kontrol frekuensi dinamis kanggo kinerja optimal. Pembalap ndhukung CPU lan APU AMD wiwit saka generasi Zen 2, dikembangake bebarengan karo Valve lan ngarahake kanggo ningkatake efisiensi manajemen energi. Kanggo owah-owahan frekuensi adaptif, mekanisme CPPC (Collaborative Processor Performance Control) digunakake, sing ngidini sampeyan ngganti indikator kanthi luwih akurat (ora diwatesi ing telung tingkat kinerja) lan luwih cepet nanggapi owah-owahan negara tinimbang P-state basis ACPI sing sadurunge digunakake. driver (CPUFreq).
    • Subsistem eBPF nawakake handler bpf_loop (), sing menehi cara alternatif kanggo ngatur puteran ing program eBPF, luwih cepet lan luwih gampang kanggo verifikasi dening verifier.
    • Ing tingkat kernel, mekanisme CO-RE (Compile Once - Run Everywhere) dileksanakake, sing ngidini sampeyan ngumpulake kode program eBPF mung sapisan lan nggunakake loader universal khusus sing adaptasi program sing dimuat menyang kernel saiki lan jinis BTF. (Format Tipe BPF).
    • Sampeyan bisa nemtokake jeneng kanggo wilayah anonim pribadi (diparengake liwat malloc) memori, kang bisa menakake debugging lan Optimization saka konsumsi memori ing aplikasi. Jeneng ditugasake liwat prctl kanthi gendΓ©ra PR_SET_VMA_ANON_NAME lan ditampilake ing /proc/pid/maps lan /proc/pid/smaps ing wangun "[anon: ]".
    • Panjadwal tugas menehi nelusuri lan nampilake ing / proc / PID / Sched wektu ngginakaken dening pangolahan ing negara dipeksa-meneng, digunakake, contone, kanggo nyuda mbukak nalika prosesor overheat.
    • Added modul gpio-sim, dirancang kanggo simulasi Kripik GPIO kanggo testing.
    • Nambahake subcommand "latensi" menyang printah "perf ftrace" kanggo ngasilake histogram kanthi informasi latensi.
    • Nambah pesawat saka "RTLA" keperluan kanggo nganalisa karya ing wektu nyata. Iki kalebu keperluan kayata osnoise (nemtokake pengaruh sistem operasi ing eksekusi tugas) lan timerlat (ngganti wektu tundha sing ana gandhengane karo timer).
    • Seri patch kapindho wis digabungake karo implementasi konsep folio kaca, sing meh padha karo kaca majemuk, nanging wis nambah semantik lan organisasi kerja sing luwih jelas. Nggunakake tomes ngidini sampeyan nyepetake manajemen memori ing sawetara subsistem kernel. Patch sing diusulake ngrampungake konversi cache kaca kanggo nggunakake tomes lan nambahake dhukungan awal kanggo tomes ing sistem file XFS.
    • Added "make mod2noconfig" mbangun mode, kang ngasilake konfigurasi sing ngumpulake kabeh subsistem dipatΓ¨ni ing wangun modul kernel.
    • Syarat kanggo versi LLVM / Clang sing bisa digunakake kanggo mbangun kernel wis diunggahake. Mbangun saiki mbutuhake paling ora LLVM 11 release.
  • Virtualisasi lan Keamanan
    • Implementasine dianyari saka generator nomer pseudo-acak RDRAND, tanggung jawab kanggo operasi saka / dev / piranti acak lan / dev / urandom, ngajokaken, kacathet kanggo transisi kanggo nggunakake fungsi hash BLAKE2s tinimbang SHA1 kanggo operasi nyawiji entropi. Owah-owahan kasebut ningkatake keamanan generator nomer pseudo-acak kanthi ngilangi algoritma SHA1 sing bermasalah lan ngilangi overwriting vektor initialization RNG. Amarga algoritma BLAKE2s luwih unggul tinimbang kinerja SHA1, panggunaane uga nduwe pengaruh positif ing kinerja.
    • Nambahake pangayoman marang kerentanan ing prosesor sing disebabake dening eksekusi spekulatif instruksi sawise operasi lompat maju tanpa syarat. Masalah dumadi amarga pangolahan pre-emptive instruksi langsung sawise instruksi cabang ing memori (SLS, Straight Line Speculation). Ngaktifake proteksi mbutuhake bangunan kanthi rilis GCC 12 sing saiki lagi diuji.
    • Added mekanisme kanggo nelusuri referensi pancacahan (refcount, referensi-count), ngarahke ing ngurangi jumlah kasalahan ing pancacahan referensi sing mimpin kanggo akses menyang memori sawise wis dibebaske. Mekanisme saiki diwatesi ing subsistem jaringan, nanging ing mangsa ngarep bisa diadaptasi menyang bagean kernel liyane.
    • Priksa lengkap entri anyar ing tabel kaca memori proses wis dileksanakake, ngidini kanggo ndeteksi jinis tartamtu saka karusakan lan mungkasi sistem, mblokir serangan ing tataran awal.
    • Nambahake kemampuan kanggo mbongkar modul kernel langsung dening kernel dhewe, lan ora dening handler ing ruang pangguna, sing ngidini nggunakake modul LoadPin LSM kanggo mesthekake yen modul kernel dimuat menyang memori saka piranti panyimpenan sing wis diverifikasi.
    • Diwenehi majelis karo flag "-Wcast-function-type", sing mbisakake bebaya babagan nuding fungsi casting menyang jinis sing ora kompatibel.
    • Added driver host virtual pvUSB kanggo hypervisor Xen, nyediakake akses menyang piranti USB diterusake kanggo sistem tamu (ngidini sistem tamu ngakses piranti USB fisik diutus kanggo sistem tamu).
    • A modul wis ditambahakΓ© sing ngijini sampeyan kanggo sesambungan liwat Wi-Fi karo subsistem IME (Intel Management Engine), kang rawuh ing motherboard paling modern karo prosesor Intel lan dipun ginakaken minangka microprocessor kapisah sing makaryakke independen saka CPU.
    • Kanggo arsitektur ARM64, dhukungan wis dileksanakake kanggo alat debugging KCSAN (Kernel Concurrency Sanitizer), sing dirancang kanggo ndeteksi kondisi balapan kanthi dinamis ing kernel.
    • Kanggo sistem ARM 32-bit, kemampuan kanggo nggunakake mekanisme KFENCE kanggo ndeteksi kesalahan nalika nggarap memori wis ditambahake.
    • Hypervisor KVM nambah dhukungan kanggo instruksi AMX (Advanced Matrix Extensions) sing diimplementasikake ing prosesor server Intel Xeon Scalable sing bakal teka.
  • Subsistem jaringan
    • Dhukungan ditambahake kanggo operasi offloading sing ana gandhengane karo manajemen lalu lintas ing sisih pinggir piranti jaringan.
    • Nambahake kemampuan kanggo nggunakake MCTP (Management Component Transport Protocol) liwat piranti serial. MCTP bisa digunakake kanggo komunikasi antarane pengontrol manajemen lan piranti sing gegandhengan (pemroses host, peripheral, lsp.).
    • Tumpukan TCP wis dioptimalake, contone, kanggo nambah kinerja telpon recvmsg, release telat saka buffer soket wis dipun ginakaken.
    • Ing tingkat panguwasa CAP_NET_RAW, nyetel mode SO_PRIORITY lan SO_MARK liwat fungsi setsockopt diijini.
    • Kanggo IPv4, soket mentah diijini diikat menyang alamat IP non-lokal nggunakake opsi IP_FREEBIND lan IP_TRANSPARENT.
    • Added sysctl arp_missed_max kanggo ngatur nomer batesan saka Gagal sak mriksa monitor ARP, sawise kang antarmuka jaringan diselehake ing negara dipatΓ¨ni.
    • Nyedhiyakake kemampuan kanggo ngatur sysctl min_pmtu lan mtu_expires sing kapisah kanggo spasi jeneng jaringan.
    • Nambahake kemampuan kanggo nyetel lan nemtokake ukuran buffer kanggo paket mlebu lan metu menyang API ethtool.
    • Netfilter nambahake dhukungan kanggo nyaring lalu lintas pppoe transit ing jembatan jaringan.
    • Modul ksmbd, sing ngetrapake server file nggunakake protokol SMB3, wis nambahake dhukungan kanggo ijol-ijolan kunci, ngaktifake port jaringan 445 kanggo smbdirect, lan nambahake dhukungan kanggo parameter "smb2 max credit".
  • Peralatan
    • Dhukungan kanggo layar kanggo nampilake informasi rahasia wis ditambahake menyang subsistem drm (Direct Renderering Manager) lan driver i915, contone, sawetara laptop dilengkapi layar kanthi mode tampilan rahasia sing dibangun, dadi angel dideleng saka njaba. . Owah-owahan sing ditambahake ngidini sampeyan nyambungake driver khusus kanggo layar kasebut lan ngontrol mode browsing rahasia kanthi nyetel properti ing driver KMS biasa.
    • Driver amdgpu kalebu dhukungan kanggo teknologi debugging STB (Smart Trace Buffer) kanggo kabeh GPU AMD sing ndhukung. STB nggampangake kanggo njelasno gagal lan ngenali sumber masalah dening nyimpen ing informasi buffer khusus bab fungsi dileksanakake sadurunge Gagal pungkasan.
    • Pembalap i915 nambah dhukungan kanggo chip Intel Raptor Lake S lan mbisakake dhukungan kanggo subsistem grafis saka chip Intel Alder Lake P kanthi standar. Sampeyan bisa ngontrol lampu latar layar liwat antarmuka VESA DPCD.
    • Dhukungan kanggo akselerasi nggulung hardware ing console wis bali ing driver fbcon / fbdev.
    • Integrasi terus saka owah-owahan kanggo ndhukung chip Apple M1. Dileksanakake kemampuan kanggo nggunakake driver simpledrm ing sistem karo chip Apple M1 kanggo output liwat framebuffer diwenehake dening perangkat kukuh.
    • Dhukungan tambahan kanggo ARM SoΠ‘, piranti lan papan Snapdragon 7c, 845 lan 888 (Sony Xperia XZ2 / XZ2C / XZ3, Xperia 1 III / 5 III, Samsung J5, Microsoft Surface Duo 2), Mediatek MT6589 (Fairphone FP1), Mediatek MT8183 ( Acer Chromebook 314), Mediatek MT7986a/b (digunakake ing router Wi-fi), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI SPEAr320s, NXP8 i. , Aspeed AST8 / AST2500, Engicam i.Core STM2600MP32, Allwinner Tanix TX1, Facebook Bletchley BMC, Goramo MultiLink, JOZ Access Point, Y Soft IOTA Crux / Crux +, t6 / t6000 MacBook Pro 6001/14.
    • Dhukungan tambahan kanggo prosesor ARM Cortex-M55 lan Cortex-M33.
    • Dhukungan tambahan kanggo piranti adhedhasar CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
    • Dhukungan tambahan kanggo StarFive JH7100 SoC adhedhasar arsitektur RISC-V.
    • Nambahake driver lenovo-yogabook-wmi kanggo ngontrol lampu latar keyboard lan ngakses macem-macem sensor ing Lenovo Yoga Book.
    • Nambahake driver asus_wmi_sensors kanggo ngakses sensor sing digunakake ing motherboard Asus X370, X470, B450, B550 lan X399 adhedhasar prosesor AMD Ryzen.
    • Added driver x86-android-tablet kanggo tablet PC basis x86 dikirim karo platform Android.
    • Dhukungan tambahan kanggo layar tutul TrekStor SurfTab duo W1 lan pena elektronik kanggo tablet Chuwi Hi10 Plus lan Pro.
    • Pembalap kanggo SoC Tegra 20/30 wis nambahake dhukungan kanggo manajemen daya lan voltase. Mbisakake booting ing piranti Tegra SoC 32-bit sing lawas kayata ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 lan Pad TF300TG.
    • Added driver kanggo komputer industri Siemens.
    • Dhukungan tambahan kanggo Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA lan panel LCD Team Source TST043015XXNUMX.
    • Dhukungan tambahan kanggo sistem swara lan codec AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, sistem Intel nggunakake NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLV320ADC3xxx. Masalah karo Tegra194 HD-audio wis ditanggulangi. Dhukungan HDA ditambahake kanggo codec CS35L41. Dhukungan apik kanggo sistem swara kanggo laptop Lenovo lan HP, uga motherboard Gigabyte.

Source: opennet.ru

Add a comment