Kaluaran kernel Linux 5.17

Saatos dua bulan pangwangunan, Linus Torvalds nampilkeun sékrési kernel Linux 5.17. Diantara parobihan anu paling penting: sistem manajemén kinerja anyar pikeun prosesor AMD, kamampuan pikeun peta sacara rekursif ID pangguna dina sistem file, dukungan pikeun program BPF kompilasi portabel, transisi generator nomer pseudo-acak kana algoritma BLAKE2s, utiliti RTLA. pikeun analisis palaksanaan real-time, backend fscache anyar pikeun sistem file jaringan cache, kamampuhan pikeun ngagantelkeun ngaran kana operasi mmap anonim.

Versi anyar kalebet 14203 perbaikan tina 1995 pamekar, ukuran patch 37 MB (parobahan anu mangaruhan 11366 file, 506043 garis kode ditambah, 250954 garis dihapus). Sakitar 44% tina sadaya parobihan anu diwanohkeun dina 5.17 aya hubunganana sareng supir alat, sakitar 16% parobihan aya hubunganana sareng ngamutahirkeun kode khusus pikeun arsitéktur hardware, 15% aya hubunganana sareng tumpukan jaringan, 4% aya hubunganana sareng sistem file, sareng 4% aya hubunganana sareng subsistem kernel internal.

Inovasi konci dina kernel 5.17:

  • Subsistem Disk, I/O sareng Sistem File
    • Dilaksanakeun kamungkinan nested pemetaan ID pamaké tina sistem file dipasang, dipaké pikeun ngabandingkeun file tina pamaké husus dina partisi asing dipasang kalawan pamaké séjén dina sistem ayeuna. Fitur nu ditambahkeun ngidinan Anjeun pikeun recursively make pemetaan dina luhureun sistem file nu pemetaan geus dilarapkeun.
    • Subsistem fscache, dipaké pikeun ngatur cache dina sistem file lokal data ditransfer ngaliwatan sistem file jaringan, tos rengse ditulis deui. Palaksanaan anyar ieu dibédakeun ku nyederhanakeun signifikan tina kode jeung ngagantian operasi kompléks tata sarta tracking nagara objék kalawan mékanisme basajan. Rojongan pikeun fscache anyar dilaksanakeun dina sistem file CIFS.
    • Subsistem tracking acara dina fanotify FS ngalaksanakeun tipe acara anyar, FAN_RENAME, nu ngidinan Anjeun pikeun langsung intercept operasi ngaganti ngaran file atawa directories (saméméhna, dua acara misah FAN_MOVED_FROM na FAN_MOVED_TO dipaké pikeun ngolah renaming).
    • Sistem file Btrfs parantos ngaoptimalkeun operasi logging sareng fsync pikeun diréktori ageung, dilaksanakeun ku ngan ukur nyalin konci indéks sareng ngirangan jumlah metadata anu asup. Rojongan pikeun ngindeks sareng milarian dumasar kana ukuran rékaman rohangan bébas parantos disayogikeun, anu ngirangan latency sakitar 30% sareng ngirangan waktos milarian. Diidinan ngaganggu operasi defragméntasi. Kamampuhan pikeun nambahkeun alat nalika kasaimbangan antara drive ditumpurkeun, i.e. nalika masang sistem file nganggo pilihan skip_balance.
    • Sintaksis anyar pikeun masang sistem file Ceph parantos diajukeun, ngarengsekeun masalah anu aya hubunganana sareng ngariung ka alamat IP. Salian alamat IP, anjeun ayeuna tiasa nganggo identifier klaster (FSID) pikeun ngaidentipikasi server: mount -t ceph [email dijaga]_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
    • Sistem file Ext4 geus dipindahkeun ka API ningkatna anyar nu misahkeun pilihan Gunung parsing jeung hambalan konfigurasi superblock. Kami parantos ngirangan dukungan pikeun pilihan lazytime sareng nolazytime mount, anu ditambihan salaku parobihan samentawis pikeun ngagampangkeun transisi util-linux pikeun nganggo bandéra MS_LAZYTIME. Ditambahkeun dukungan pikeun nyetél sareng maca labél dina FS (ioctl FS_IOC_GETFSLABEL sareng FS_IOC_SETFSLABEL).
    • NFSv4 nambihan dukungan pikeun damel dina sistem file anu teu merhatikeun kasus dina nami file sareng diréktori. NFSv4.1 + nambahkeun rojongan pikeun nangtukeun sesi aggregated (trunking).
  • Mémori sareng jasa sistem
    • Ditambahkeun supir amd-pstate pikeun nyayogikeun kontrol frekuensi dinamis pikeun pagelaran optimal. Supir ngadukung CPU AMD sareng APU mimitian ti generasi Zen 2, dikembangkeun babarengan sareng Valve sareng ditujukeun pikeun ningkatkeun efisiensi manajemén énergi. Pikeun parobahan frékuénsi adaptif, mékanisme CPPC (Collaborative Processor Performance Control) dipaké, nu ngidinan Anjeun pikeun ngarobah indikator leuwih akurat (teu dugi ka tilu tingkat kinerja) jeung ngabales leuwih gancang kana parobahan kaayaan ti P-state basis ACPI saméméhna dipaké. drivers (CPUFreq).
    • Subsistem eBPF nawiskeun panangan bpf_loop (), anu nyayogikeun jalan alternatif pikeun ngatur puteran dina program eBPF, langkung gancang sareng langkung gampang pikeun verifikasi ku verifier.
    • Dina tingkat kernel, mékanisme CO-RE (Compile Once - Run Everywhere) dilaksanakeun, anu ngamungkinkeun anjeun pikeun nyusun kode program eBPF ngan sakali sareng nganggo pamuat universal khusus anu nyaluyukeun program anu dimuat kana kernel ayeuna sareng jinis BTF. (Format Tipe BPF).
    • Kasebut nyaéta dimungkinkeun pikeun napelkeun ngaran ka wewengkon anonim swasta (dialokasikeun via malloc) memori, nu bisa simplify debugging jeung optimasi konsumsi memori dina aplikasi. Ngaran ditugaskeun via prctl kalayan bandéra PR_SET_VMA_ANON_NAME sareng dipintonkeun dina /proc/pid/maps sareng /proc/pid/smaps dina bentuk "[anon: ]".
    • Tugas scheduler nyadiakeun tracking tur mintonkeun dina / proc / PID / Sched waktos spent ku prosés dina kaayaan kapaksa-dianggurkeun, dipaké, contona, pikeun ngurangan beban nalika processor overheats.
    • Ditambahkeun modul gpio-sim, dirancang simulate chip GPIO pikeun nguji.
    • Nambahkeun subcommand "latency" kana paréntah "perf ftrace" pikeun ngahasilkeun histogram sareng inpormasi latency.
    • Ditambahkeun sakumpulan utilitas "RTLA" pikeun nganalisa padamelan sacara real waktos. Éta kalebet utilitas sapertos osnoise (nangtukeun pangaruh sistem operasi dina palaksanaan tugas) sareng timerlat (ngarobah telat anu aya hubunganana sareng timer).
    • Runtuyan kadua patches geus terpadu jeung palaksanaan konsép halaman folios, nu nyarupaan kaca majemuk, tapi geus ningkat semantik jeung organisasi karya jelas. Ngagunakeun tomes ngidinan Anjeun pikeun nyepetkeun manajemén memori dina sababaraha subsistem kernel. Patch anu diusulkeun parantos ngabéréskeun konvérsi cache halaman kana panggunaan buku tulis sareng nambihan dukungan awal pikeun buku tulis dina sistem file XFS.
    • Ditambahkeun mode ngawangun "nyieun mod2noconfig", anu ngahasilkeun konfigurasi anu ngumpulkeun sadaya subsistem anu ditumpurkeun dina bentuk modul kernel.
    • Sarat pikeun versi LLVM / Clang nu bisa dipaké pikeun ngawangun kernel geus diangkat. Ngawangun ayeuna merlukeun sahenteuna LLVM 11 release.
  • Virtualisasi sareng Kaamanan
    • Hiji palaksanaan diropéa tina angka pseudo-acak generator RDRAND, jawab operasi / dev / acak sarta / dev / alat urandom, diusulkeun, kasohor transisi ngagunakeun fungsi Hash BLAKE2s tinimbang SHA1 pikeun operasi campur kode éntropi. Parobihan éta ningkatkeun kaamanan generator nomer pseudo-acak ku ngaleungitkeun algoritma SHA1 anu bermasalah sareng ngaleungitkeun overwriting vektor initialization RNG. Kusabab algoritma BLAKE2s punjul ti SHA1 dina kinerja, pamakéan na ogé miboga éfék positif dina kinerja.
    • Ditambahkeun panyalindungan ngalawan kerentanan dina prosesor anu disababkeun ku palaksanaan spekulatif paréntah saatos operasi luncat maju tanpa syarat. Masalahna lumangsung alatan pamrosésan pre-emptive instruksi langsung nuturkeun instruksi cabang dina mémori (SLS, Straight Line Spekulasi). Aktipkeun panyalindungan merlukeun wangunan jeung release ayeuna nguji GCC 12.
    • Ditambahkeun mékanisme pikeun nyukcruk rujukan cacah (refcount, rujukan-count), aimed dina ngurangan jumlah kasalahan dina rujukan cacah nu ngakibatkeun aksés ka memori sanggeus eta geus dibébaskeun. Mékanismena ayeuna dugi ka subsistem jaringan, tapi ka hareupna tiasa diadaptasi kana bagian kernel anu sanés.
    • cék ngalegaan éntri anyar dina tabel kaca mémori prosés geus dilaksanakeun, sahingga pikeun ngadeteksi jenis tangtu karuksakan jeung ngeureunkeun sistem, blocking serangan dina tahap awal.
    • Ditambahkeun kamampuhan pikeun ngabongkar modul kernel langsung ku kernel sorangan, teu ku pawang dina spasi pamaké, nu ngamungkinkeun ngagunakeun modul LoadPin LSM pikeun mastikeun yén modul kernel dimuat kana mémori tina alat panyimpen diverifikasi.
    • Disadiakeun assembly kalawan "-Wcast-fungsi-tipe" bandéra, nu nyandak warnings ngeunaan casting pointers fungsi ka tipe sauyunan.
    • Ditambahkeun supir host maya pvUSB pikeun hypervisor Xen, nyadiakeun aksés ka alat USB diteruskeun ka sistem tamu (ngamungkinkeun sistem tamu ngakses alat USB fisik ditugaskeun ka sistem tamu).
    • A modul geus ditambahkeun nu ngidinan Anjeun pikeun berinteraksi via Wi-Fi jeung subsistem IME (Intel Manajemén Engine), nu asalna di paling motherboards modern jeung prosesor Intel sarta dilaksanakeun salaku microprocessor misah nu ngoperasikeun bebas tina CPU.
    • Pikeun arsitéktur ARM64, dukungan parantos dilaksanakeun pikeun alat debugging KCSAN (Kernel Concurrency Sanitizer), dirancang pikeun sacara dinamis ngadeteksi kaayaan balapan dina kernel.
    • Pikeun sistem ARM 32-bit, kamampuan ngagunakeun mékanisme KFENCE pikeun ngadeteksi kasalahan nalika damel sareng mémori parantos ditambahkeun.
    • KVM hypervisor nambahkeun rojongan pikeun AMX (Advanced Matrix Extensions) parentah dilaksanakeun dina prosesor server Intel Xeon Scalable upcoming.
  • Subsistem jaringan
    • Ditambahkeun dukungan pikeun operasi ngamuat anu aya hubunganana sareng manajemén lalu lintas ka sisi alat jaringan.
    • Ditambahkeun kamampuan ngagunakeun MCTP (Manajemén Component Transport Protocol) dina alat séri. MCTP tiasa dianggo pikeun komunikasi antara pangendali manajemén sareng alat anu aya hubunganana (prosesor host, périferal, jsb.).
    • tumpukan TCP geus dioptimalkeun, contona, pikeun ngaronjatkeun kinerja panggero recvmsg, sékrési nyangsang of buffers stop kontak geus dilaksanakeun.
    • Dina tingkat otoritas CAP_NET_RAW, setelan SO_PRIORITY na SO_MARK mode ngaliwatan fungsi setsockopt diwenangkeun.
    • Pikeun IPv4, sockets atah diidinan ngabeungkeut alamat IP non-lokal nganggo pilihan IP_FREEBIND sareng IP_TRANSPARENT.
    • Ditambahkeun sysctl arp_missed_max pikeun ngonpigurasikeun jumlah bangbarung gagal salila dipariksa monitor ARP, nu satutasna panganteur jaringan disimpen dina kaayaan ditumpurkeun.
    • Disayogikeun kamampuan pikeun ngonpigurasikeun sysctl min_pmtu sareng nilai mtu_expires anu misah pikeun ruang ngaran jaringan.
    • Ditambahkeun kamampuhan pikeun nyetél tur nangtukeun ukuran panyangga pikeun pakét asup jeung kaluar ka API ethtool.
    • Netfilter parantos nambihan dukungan pikeun nyaring lalu lintas pppoe transit dina sasak jaringan.
    • Modul ksmbd, anu ngalaksanakeun server file nganggo protokol SMB3, parantos nambihan dukungan pikeun bursa konci, ngaktifkeun port jaringan 445 pikeun smbdirect, sareng nambihan dukungan pikeun parameter "smb2 max kiridit".
  • pakakas
    • Rojongan pikeun layar pikeun mintonkeun informasi rahasia geus ditambahkeun kana drm (Direct Renderering Manager) subsistem jeung supir i915, contona, sababaraha laptop dilengkepan layar ku modeu nempoan rahasia diwangun-di, sahingga hésé pikeun nempo ti luar. . Parobihan anu ditambahan ngamungkinkeun anjeun nyambungkeun supir khusus pikeun layar sapertos kitu sareng ngontrol modeu browsing rahasia ku netepkeun sipat dina supir KMS biasa.
    • Supir amdgpu kalebet dukungan pikeun téknologi debugging STB (Smart Trace Buffer) pikeun sadaya GPU AMD anu ngadukung éta. STB ngagampangkeun pikeun nganalisa gagal sareng ngaidentipikasi sumber masalah ku cara nyimpen inpormasi panyangga khusus ngeunaan fungsi anu dilakukeun sateuacan gagal terakhir.
    • Supir i915 nambihan pangrojong pikeun chip Intel Raptor Lake S sareng ngamungkinkeun pangrojong pikeun subsistem grafis tina chip Intel Alder Lake P sacara standar. Kasebut nyaéta dimungkinkeun pikeun ngadalikeun lampu tukang layar via panganteur VESA DPCD.
    • Rojongan pikeun akselerasi ngagulung hardware dina konsol parantos dipulangkeun dina panggerak fbcon/fbdev.
    • Terus integrasi parobahan pikeun ngarojong chip Apple M1. Dilaksanakeun kamampuhan ngagunakeun supir simpledrm on sistem kalawan chip Apple M1 pikeun kaluaran ngaliwatan framebuffer disadiakeun ku firmware nu.
    • Ditambahkeun dukungan pikeun ARM SoС, alat sareng papan Snapdragon 7c, 845 sareng 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 (dipaké dina 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 Leuleus IOTA Crux / Crux +, t6 / t6000 MacBook Pro 6001/14.
    • Ditambahkeun dukungan pikeun prosesor ARM Cortex-M55 sareng Cortex-M33.
    • Ditambahkeun dukungan pikeun alat dumasar kana CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1 / v2.
    • Ditambahkeun dukungan pikeun StarFive JH7100 SoC dumasar kana arsitéktur RISC-V.
    • Ditambahkeun supir lenovo-yogabook-wmi pikeun ngontrol lampu tukang keyboard sareng ngaksés sababaraha sénsor dina Lenovo Yoga Book.
    • Ditambahkeun supir asus_wmi_sensors pikeun aksés sénsor anu dianggo dina motherboards Asus X370, X470, B450, B550 sareng X399 dumasar kana prosesor AMD Ryzen.
    • Ditambahkeun supir x86-android-tablet pikeun PC tablet basis x86 anu dikirimkeun sareng platform Android.
    • Ditambahkeun dukungan pikeun layar rampa TrekStor SurfTab duo W1 sareng pulpen éléktronik pikeun tablet Chuwi Hi10 Plus sareng Pro.
    • Supir pikeun SoC Tegra 20/30 parantos nambihan dukungan pikeun manajemén kakuatan sareng tegangan. Aktipkeun booting dina alat Tegra SoC 32-bit anu langkung lami sapertos ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 sareng Pad TF300TG.
    • Ditambahkeun supir pikeun komputer industri Siemens.
    • Ditambahkeun dukungan pikeun Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA sareng Panel Sumber Tim LCD043015CMHXXNUMX.
    • Ditambahkeun dukungan pikeun sistem sora sareng codec AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, sistem Intel nganggo NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLV320ADC3xxx. Masalah sareng Tegra194 HD-audio parantos direngsekeun. Ditambahkeun dukungan HDA pikeun codec CS35L41. Ningkatkeun dukungan pikeun sistem sora pikeun laptop Lenovo sareng HP, ogé motherboards Gigabyte.

sumber: opennet.ru

Tambahkeun komentar