Rilis kernel Linux 5.12

Sawise rong wulan pangembangan, Linus Torvalds nampilake rilis kernel Linux 5.12. Antarane owah-owahan sing paling penting: dhukungan kanggo piranti blok zona ing Btrfs, kemampuan kanggo map ID pangguna kanggo sistem file, ngresiki arsitektur ARM warisan, mode nulis "semangat" ing NFS, mekanisme LOOKUP_CACHED kanggo nemtokake path file saka cache. , dhukungan kanggo instruksi atom ing BPF, sistem debugging KFENCE kanggo ngenali kesalahan nalika nggarap memori, mode polling NAPI mlaku ing thread kernel kapisah ing tumpukan jaringan, hypervisor ACRN, kemampuan kanggo ngganti model preempt ing fly ing tugas panjadwal lan support kanggo optimizations LTO nalika bangunan ing Clang.

Versi anyar kalebu 14170 (ing release sadurungΓ© 15480) mbenakake saka 1946 (1991) pangembang, ukuran patch 38 MB (pangowahan kena pengaruh 12102 (12090) file, 538599 (868025) baris kode ditambahake, 333377 (261456) baris dibusak). Udakara 43% saka kabeh owah-owahan sing dienalake ing 5.12 ana gandhengane karo driver piranti, kira-kira 17% owah-owahan ana gandhengane karo nganyari kode khusus kanggo arsitektur hardware, 12% ana gandhengane karo tumpukan jaringan, 5% ana gandhengane karo sistem file, lan 4% ana hubungane karo subsistem kernel internal.

Inovasi utama:

  • Subsistem disk, I/O lan sistem file
    • Kemampuan kanggo peta ID pangguna kanggo sistem file sing dipasang wis dileksanakake (sampeyan bisa map file siji pangguna ing partisi manca dipasang karo pangguna liyane ing sistem saiki). Pemetaan didhukung kanggo sistem file FAT, ext4 lan XFS. Fungsi sing diusulake nggawe luwih gampang kanggo nuduhake file ing antarane pangguna sing beda-beda lan ing komputer sing beda-beda, kalebu pemetaan bakal digunakake ing mekanisme direktori ngarep portabel systemd-homed, ngidini pangguna mindhah direktori omah menyang media eksternal lan digunakake ing komputer sing beda-beda, pemetaan. ID pangguna sing ora cocog. Aplikasi liyane sing migunani yaiku ngatur panyedhiya akses bareng menyang file saka host eksternal, tanpa ngganti data babagan pemilik file ing sistem file.
    • Patch LOOKUP_CACHED wis diadopsi menyang kernel, ngidini operasi nemtokake path file saka ruang pangguna tanpa mblokir, mung adhedhasar data sing kasedhiya ing cache. Mode LOOKUP_CACHED diaktifake ing openat2 () nelpon dening maringaken RESOLVE_CACHED flag, kang data dilayani mung saka cache, lan yen path netepake mbutuhake akses menyang drive, kesalahan EAGAIN bali.
    • Sistem file Btrfs wis nambahake dhukungan awal kanggo piranti blok zona (piranti ing hard disk magnetik utawa NVMe SSD, ruang panyimpenan sing dipΓ©rang dadi zona sing nggawe klompok blok utawa sektor, sing mung diidini tambahan data kanthi urutan, nganyari kabeh klompok pamblokiran). Ing mode mung diwaca, dhukungan kanggo pamblokiran kanthi metadata lan data sing luwih cilik tinimbang kaca (subhalaman) ditindakake.
    • Ing sistem file F2FS, kemampuan kanggo milih algoritma lan tingkat kompresi wis ditambahake. Dhukungan ditambahake kanggo kompresi tingkat dhuwur kanggo algoritma LZ4. Dilaksanakake pilihan pemasangan checkpoint_merge.
    • Printah ioctl anyar FS_IOC_READ_VERITY_METADATA wis dileksanakake kanggo maca metadata saka file sing dilindhungi fs-verity.
    • Klien NFS ngetrapake mode nulis "semangat" (nulis = semangat), nalika diaktifake, operasi nulis menyang file langsung ditransfer menyang server, ngliwati cache kaca. Mode iki ngijini sampeyan kanggo ngurangi konsumsi memori, nyedhiyani panrimo cepet saka informasi bab mburi spasi free ing sistem file, lan ing sawetara kahanan ndadekake iku bisa kanggo entuk tambah kinerja.
    • Opsi gunung anyar wis ditambahake menyang CIFS (SMB): acregmax kanggo ngontrol caching file lan acdirmax kanggo ngontrol cache metadata direktori.
    • Ing XFS, mode mriksa kuota multi-threaded wis diaktifake, eksekusi fsync wis digawe cepet, lan kode growfs wis disiapake kanggo ngleksanakake fungsi nyuda ukuran sistem file.
  • Layanan memori lan sistem
    • Subsistem DTMP (Dynamic Thermal Power Management) wis ditambahake, ngidini sampeyan ngatur kanthi dinamis konsumsi daya piranti beda adhedhasar watesan suhu umum sing disetel.
    • Kemampuan kanggo mbangun kernel nggunakake Clang compiler karo Gawan optimizations ing tataran linking (LTO, Link Wektu Optimization) wis dipun ginakaken. Optimizations LTO beda-beda dening njupuk menyang akun negara kabeh file melu ing proses mbangun, nalika mode Optimization tradisional ngoptimalake saben file dhewe lan ora njupuk menyang akun kahanan kanggo nelpon fungsi ditetepake ing file liyane. Contone, kanthi LTO, panyebaran inline bisa kanggo fungsi saka file liyane, kode sing ora digunakake ora kalebu ing file eksekusi, mriksa jinis lan optimasi umum ditindakake ing tingkat proyek kanthi sakabehe. Dhukungan LTO saiki diwatesi ing arsitektur x86 lan ARM64.
    • Sampeyan bisa milih mode preemption (PREEMPT) ing panjadwal tugas ing tahap boot (preempt = ora ana / sukarela / lengkap) utawa nalika nggarap debugfs (/debug/sched_debug), yen setelan PREEMPT_DYNAMIC ditemtokake nalika mbangun kernel. Sadurunge, mode ekstrusi mung bisa disetel ing tingkat paramΓ¨ter perakitan. Owah-owahan kasebut ngidini distribusi ngirim kernel kanthi mode PREEMPT aktif, sing nyedhiyakake latensi minimal kanggo desktop kanthi biaya penalti throughput cilik, lan yen perlu bali menyang PREEMPT_VOLUNTARY (mode penengah kanggo desktop) utawa PREEMPT_NONE (nyedhiyakake throughput maksimum kanggo server) .
    • Dhukungan kanggo operasi atom BPF_ADD, BPF_AND, BPF_OR, BPF_XOR, BPF_XCHG lan BPF_CMPXCHG wis ditambahake menyang subsistem BPF.
    • Program BPF diwenehi kemampuan kanggo ngakses data ing tumpukan nggunakake penunjuk kanthi offset variabel. Contone, yen sadurunge sampeyan mung bisa nggunakake indeks unsur pancet kanggo ngakses larik ing tumpukan, saiki sampeyan bisa nggunakake ganti. Kontrol akses mung ing wates sing wis ana ditindakake dening verifikasi BPF. Fitur iki mung kasedhiya kanggo program sing duwe hak istimewa amarga kuwatir babagan eksploitasi kerentanan eksekusi kode spekulatif.
    • Added kemampuan kanggo masang program BPF kanggo tracepoints gundhul sing ora digandhengake karo acara tilak katon ing papan pangguna (pengawetan ABI ora dijamin kanggo tracepoints kuwi).
    • Dhukungan kanggo bis CXL 2.0 (Compute Express Link) wis dileksanakake, sing digunakake kanggo ngatur interaksi kacepetan dhuwur antarane CPU lan piranti memori (ngidini sampeyan nggunakake piranti memori eksternal minangka bagΓ©an saka RAM utawa memori permanen, kaya memori iki. disambungake liwat controller memori standar ing CPU).
    • Nambahake driver nvmem kanggo njupuk data saka wilayah memori sing dilindhungi undhang-undhang perangkat kukuh sing ora bisa diakses langsung menyang Linux (Contone, memori EEPROM sing bisa diakses sacara fisik mung kanggo perangkat kukuh, utawa data sing mung bisa diakses nalika fase boot awal).
    • Dhukungan kanggo sistem profil "oprofile" wis dibusak, sing ora akeh digunakake lan diganti dening mekanisme perf sing luwih modern.
    • Antarmuka I/O asinkron io_uring nyedhiyakake integrasi karo cgroup sing ngontrol panggunaan memori.
    • Arsitektur RISC-V ndhukung sistem NUMA, uga mekanisme kprobes lan uprobes.
    • Added kemampuan kanggo nggunakake kcmp () telpon sistem preduli saka fungsi proses jepretan negara (checkpoint / mulihake).
    • EXPORT_UNUSED_SYMBOL () lan EXPORT_SYMBOL_GPL_FUTURE () makro, sing wis ora digunakake ing laku kanggo akΓ¨h taun, wis dibusak.
  • Virtualisasi lan Keamanan
    • Added KFence (Kernel Electric Fence) mekanisme pangayoman, kang keno kesalahan nalika nggarap memori, kayata buffer overruns lan akses sawise freeing memori. Boten kados mekanisme debugging KASAN, subsistem KFence ditondoi dening kacepetan operasi dhuwur lan nduwur sirah kurang, sing ngijini sampeyan kanggo nyekel kasalahan memori sing katon mung ing sistem apa utawa sak operasi long-term.
    • Dhukungan tambahan kanggo hypervisor ACRN, ditulis kanthi siyap kanggo tugas nyata-wektu lan cocog kanggo digunakake ing sistem kritis misi. ACRN nyedhiyakake overhead minimal, njamin latency kurang lan responsif sing nyukupi nalika sesambungan karo peralatan. Ndhukung virtualisasi sumber daya CPU, I / O, subsistem jaringan, grafis lan operasi swara. ACRN bisa digunakake kanggo mbukak pirang-pirang mesin virtual sing terisolasi ing unit kontrol elektronik, panel instrumen, sistem informasi otomotif, piranti IoT konsumen lan teknologi sing dipasang liyane. ACRN ndhukung rong jinis sistem tamu - hak istimewa Service VMs, kang digunakake kanggo ngatur sumber daya sistem (CPU, memori, I / O, etc.), lan VM panganggo adat, kang bisa mbukak distribusi Linux, Android lan Windows.
    • Ing subsistem IMA (Integrity Measurement Architecture), sing njaga database hash kanggo mriksa integritas file lan metadata sing gegandhengan, saiki bisa mriksa integritas data kernel dhewe, contone, kanggo nglacak owah-owahan ing aturan SELinux. .
    • Kemampuan kanggo nyegat hypercalls Xen lan nerusake menyang emulator sing mlaku ing ruang pangguna wis ditambahake menyang hypervisor KVM.
    • Nambahake kemampuan kanggo nggunakake Linux minangka lingkungan root kanggo hypervisor Hyper-V. Lingkungan ROOT nduweni akses langsung menyang hardware lan digunakake kanggo mbukak sistem tamu (analog karo Dom0 ing Xen). Nganti saiki, Hyper-V (Microsoft Hypervisor) ndhukung Linux mung ing lingkungan tamu, nanging hypervisor dhewe dikontrol saka lingkungan berbasis Windows.
    • Dhukungan tambahan kanggo enkripsi inline kanggo kertu eMMC, ngidini sampeyan nggunakake mekanisme enkripsi sing dibangun ing pengontrol drive sing transparan ndhelik lan dekripsi I / O.
    • Dhukungan kanggo hash RIPE-MD 128/256/320 lan Tiger 128/160/192, sing ora digunakake ing inti, uga cipher stream Salsa20, sing diganti dening algoritma ChaCha20, wis dibusak saka subsistem crypto. Algoritma blake2 wis dianyari kanggo ngleksanakake blake2s.
  • Subsistem jaringan
    • Nambahake kemampuan kanggo mindhah pawang polling NAPI kanggo piranti jaringan menyang benang kernel sing kapisah, sing ngidini kinerja sing luwih apik kanggo sawetara jinis beban kerja. Sadurunge, polling ditindakake ing konteks softirq lan ora dilindhungi dening panjadwal tugas, sing ndadekake angel nindakake optimasi sing apik kanggo entuk kinerja maksimal. Eksekusi ing utas kernel sing kapisah ngidini pawang polling bisa diamati saka ruang pangguna, dipasang ing inti CPU individu, lan dianggep nalika ngoper tugas. Kanggo ngaktifake mode anyar ing sysfs, parameter /sys/class/net//threaded diusulake.
    • Integrasi menyang inti saka MPTCP (MultiPath TCP), extension saka protokol TCP kanggo ngatur operasi sambungan TCP karo pangiriman paket bebarengan sawetara rute liwat antarmuka jaringan beda gadhah alamat IP beda. Rilis anyar nambahake kemampuan kanggo nemtokake prioritas kanggo utas tartamtu, sing ngidini, contone, kanggo ngatur karya utas serep sing mung diuripake yen ana masalah karo utas utami.
    • IGMPv3 nambah dhukungan kanggo mekanisme EHT (Explicit Host Tracking).
    • Mesin panyaring paket Netfilter nyedhiyakake kemampuan kanggo duwe tabel tartamtu kanggo entuk kontrol eksklusif (contone, proses firewall latar mburi bisa njupuk kepemilikan tabel tartamtu, nyegah wong liya saka ngganggu).
  • Peralatan
    • We ngresiki platform ARM lungse lan unmaintained. Kode kanggo platform efm32, picoxcell, prima2, tango, u300, zx lan c6x, uga driver sing gegandhengan, wis dibusak.
    • Driver amdgpu menehi kemampuan kanggo overclock (OverDrive) kertu adhedhasar Sienna Cichlid GPU (Navi 22, Radeon RX 6xxx). Dhukungan ditambahake kanggo format piksel FP16 kanggo DCE (mesin pengontrol tampilan) saka 8 nganti 11 generasi. Kanggo GPU Navy Flounder (Navi 21) lan APU Van Gogh, kemampuan kanggo ngreset GPU wis dileksanakake.
    • Driver i915 kanggo kertu grafis Intel ngleksanakake parameter i915.mitigations kanggo mateni isolasi lan mekanisme pangayoman ing sih saka kinerja apik. Kanggo chip sing diwiwiti saka Tiger Lake, dhukungan kanggo mekanisme VRR (Variable Rate Refresh) kalebu, sing ngidini sampeyan ngganti tingkat refresh monitor kanthi adaptif kanggo njamin lancar lan ora ana kesenjangan sajrone game. Dhukungan kanggo teknologi Intel Clear Color kalebu kanggo akurasi warna sing luwih apik. Dhukungan tambahan kanggo DP-HDMI 2.1. Kemampuan kanggo ngontrol lampu latar panel eDP wis dileksanakake. Kanggo GPU Gen9 kanthi dhukungan LSPCON (Level Shifter and Protocol Converter), dhukungan HDR diaktifake.
    • Pembalap nouveau nambah dhukungan awal kanggo GPU NVIDIA adhedhasar arsitektur GA100 (Ampere).
    • Driver msm nambah support kanggo Adreno 508, 509 lan 512 GPU digunakake ing SDM (Snapdragon) 630, 636 lan 660 Kripik.
    • Dhukungan ditambahake kanggo Sound BlasterX AE-5 Plus, Lexicon I-ONIX FW810s lan kertu swara Pioneer DJM-750. Dhukungan tambahan kanggo subsistem audio Intel Alder Lake PCH-P. Dhukungan kanggo simulasi piranti lunak kanggo nyambungake lan medhot konektor audio wis dileksanakake kanggo panangan debugging ing ruang pangguna.
    • Dhukungan tambahan kanggo konsol game Nintendo 64 sing diprodhuksi saka 1996 nganti 2003 (usaha kepungkur kanggo port Linux menyang Nintendo 64 ora rampung lan diklasifikasikake minangka Vaporware). Motivasi kanggo nggawe port anyar kanggo platform sing wis lawas, sing durung dirilis meh rong puluh taun, yaiku kepinginan kanggo ngrangsang pangembangan emulator lan nyederhanakake porting game.
    • Added driver kanggo Sony PlayStation 5 DualSense game controller.
    • Dhukungan tambahan kanggo papan, piranti lan platform ARM: PineTab, Snapdragon 888 / SM8350, Snapdragon MTP, Two Beacon EmbeddedWorks, Intel eASIC N5X, Netgear R8000P, Plymovent M2M, Beacon i.MX8M Nano, NanoPi M4B.
    • Dhukungan tambahan kanggo Purism Librem5 Evergreen, Xperia Z3 + / Z4 / Z5, ASUS Zenfone 2 Laser, BQ Aquaris X5, OnePlus6, OnePlus6T, Samsung GT-I9070 smartphone.
    • Added driver bcm-vk kanggo Papan akselerator Broadcom VK (Contone, Papan Valkyrie lan Viper PCIe), kang bisa digunakake kanggo offload audio, video lan operasi Processing gambar, uga operasi-related enkripsi, kanggo piranti kapisah.
    • Dhukungan ditambahake kanggo platform Lenovo IdeaPad kanthi kemampuan kanggo ngontrol pangisi daya lan lampu latar keyboard. Uga kasedhiya dhukungan kanggo profil ACPI saka platform ThinkPad kanthi kemampuan kanggo ngontrol mode konsumsi daya. Added driver kanggo Lenovo ThinkPad X1 Tablet Gen 2 subsistem HID.
    • Added driver ov5647 karo support kanggo modul kamera kanggo Raspberry Pi.
    • Dhukungan tambahan kanggo papan RISC-V SoC FU740 lan HiFive Unleashed. Pembalap anyar kanggo chip Kendryte K210 uga wis ditambahake.

Source: opennet.ru

Add a comment