Rilis kernel Linux 5.6

Sawise rong sasi pembangunan, Linus Torvalds ngenalake release kernel Linux 5.6. Antarane owah-owahan sing paling penting: integrasi antarmuka WireGuard VPN, dhukungan kanggo USB4, ruang jeneng kanggo wektu, kemampuan kanggo nggawe panangan kemacetan TCP nggunakake BPF, dhukungan awal kanggo MultiPath TCP, ngilangi kernel masalah 2038, mekanisme "bootconfig". , ZoneFS.

Versi anyar kalebu 13702 ndandani saka 1810 pangembang,
ukuran tembelan - 40 MB (pangowahan kena pengaruh 11577 file, 610012 baris kode ditambahake,
294828 larik dibusak). Udakara 45% kabeh ditampilake ing 5.6
owah-owahan related kanggo driver piranti, kira-kira 15% saka owah-owahan sing
sikap kanggo nganyari kode khusus kanggo arsitektur hardware, 12%
digandhengake karo tumpukan jaringan, 4% karo sistem file lan 3% karo internal
subsistem kernel.

Utama inovasi:

  • Subsistem jaringan
    • Ditambahake implementasine saka antarmuka VPN WireGuard, sing dileksanakake adhedhasar metode enkripsi modern (ChaCha20, Poly1305, Curve25519, BLAKE2s), gampang digunakake, ora ana komplikasi, wis mbuktekake dhewe ing sawetara implementasine gedhe lan nyedhiyakake kinerja sing dhuwur banget (3,9 kaping luwih cepet tinimbang OpenVPN ing syarat-syarat. saka throughput). WireGuard nggunakake konsep routing kunci enkripsi, sing kalebu nglebokake kunci pribadi menyang saben antarmuka jaringan lan digunakake kanggo ngiket kunci umum. Kunci umum diijolke kanggo nggawe sambungan kanthi cara sing padha karo SSH. Primitif kriptografi dibutuhake supaya WireGuard bisa digunakake padha digawa liwat saka perpustakaan seng minangka bagéan saka standar Crypto API lan klebu menyang inti 5.5.
    • Diwiwiti integrasi komponen perlu kanggo ndhukung 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. Kanggo aplikasi jaringan, sambungan agregat kasebut katon kaya sambungan TCP biasa, lan kabeh logika pemisahan aliran ditindakake dening MPTCP. Multipath TCP bisa digunakake kanggo nambah throughput lan nambah linuwih. Contone, MPTCP bisa digunakake kanggo ngatur transmisi data ing smartphone nggunakake sambungan WiFi lan 4G bebarengan, utawa kanggo ngurangi biaya kanthi nyambungake server nggunakake sawetara pranala mirah tinimbang siji larang.
    • Ditambahake dhukungan kanggo disiplin pangolahan antrian jaringan sch_ets (Pilihan Transmisi Enhanced, IEEE 802.1Qaz), sing nyedhiyakake kemampuan kanggo nyebarake bandwidth ing antarane macem-macem kelas lalu lintas. Yen beban ing kelas lalu lintas tartamtu kurang saka bandwidth sing diparengake, ETS ngidini kelas lalu lintas liyane nggunakake bandwidth sing kasedhiya (ora digunakake). Qdisc sch_ets dikonfigurasi minangka disiplin PRIO lan nggunakake kelas lalu lintas kanggo nemtokake watesan bandwidth sing ketat lan bareng. ETS dianggo minangka gabungan saka disiplin PRIO и DRR - yen ana kelas lalu lintas strictly winates, PRIO digunakake, nanging yen ora ana lalu lintas ing antrian, kerjane kaya DRR.
    • Nambahake jinis program BPF anyar BPF_PROG_TYPE_STRUCT_OPS, sing ngidini sampeyan ngleksanakake panangan fungsi kernel liwat BPF. Saiki, fitur iki wis bisa digunakake kanggo ngleksanakake algoritma kontrol congestion TCP ing wangun program BPF. Minangka conto disaranake Program BPF kanthi implementasi algoritma DCTCP.
    • Ditampa menyang inti ganti, piranti nerjemahake ettool karo ioctl () kanggo nggunakake antarmuka netlink. Antarmuka anyar nggampangake nambah ekstensi, mbenakake penanganan kesalahan, ngidini kabar dikirim nalika owah-owahan negara, nyederhanakake interaksi antarane kernel lan ruang pangguna, lan nyuda jumlah dhaptar sing dijenengi sing kudu disinkronake.
    • Added implementasine saka algoritma Manajemen antrian jaringan FQ-PIE (Flow Queue PIE), ngarahke ing ngurangi impact negatif saka buffering paket penengah ing peralatan jaringan pinggiran (bufferbloat). FQ-PIE nduduhake efisiensi dhuwur nalika digunakake ing sistem nganggo modem kabel.
  • Subsistem disk, I/O lan sistem file
    • Kanggo sistem file Btrfs ditambahake implementasine asynchronous saka operasi DISCARD (marking pamblokiran freed sing ora perlu kanggo disimpen fisik). Kaping pisanan, operasi DISCARD ditindakake kanthi sinkron, sing bisa nyebabake degradasi kinerja amarga drive nunggu printah sing cocog rampung. Implementasi Asynchronous ngidini sampeyan ora ngenteni drive kanggo ngrampungake DISCARD lan nindakake operasi iki ing latar mburi.
    • Ing XFS dileksanakake Ngresiki kode sing digunakake counters wektu 32-dicokot lawas (jinis time_t diganti dening time64_t), anjog kanggo 2038 masalah. Ndandani kesalahan lan korupsi memori sing kedadeyan ing platform 32-bit. Kode wis digarap maneh kanggo nggarap atribut lengkap.
    • Kanggo sistem file ext4 dikenalake Optimasi kinerja sing ana gandhengane karo nangani ngunci inode sajrone operasi maca lan nulis. Ngapikake kinerja nulis ulang ing mode Direct I/O. Kanggo nyederhanakake diagnosis masalah, kode kesalahan pisanan lan pungkasan disimpen ing superblok.
    • Ing sistem file F2FS dileksanakake kemampuan kanggo nyimpen data ing wangun kompres. Kanggo file utawa direktori individu, kompresi bisa diaktifake nggunakake printah "chattr + c file" utawa "chattr + c dir; tutul dir/file". Kanggo ngompres partisi kabeh, sampeyan bisa nggunakake pilihan "-o compress_extension = ext" ing sarana gunung.
    • Kernel kalebu sistem file ZoneFS, sing nyederhanakake karya tingkat rendah karo piranti panyimpenan sing dizona. Zoned drive tegese piranti ing hard disk Magnetik hard utawa NVMe SSDs, papan panyimpenan kang dipérang dadi zona sing nggawe klompok pamblokiran utawa sektor, kang mung tambahan urut-urutan data diijini, nganyari kabeh klompok pamblokiran. FS ZoneFS iki dikembangaké dening Western Digital lan digandhengake saben zona ing drive karo file kapisah sing bisa digunakake kanggo nyimpen data ing mode mentahan tanpa manipulasi ing sektor lan tingkat pemblokiran, i.e. Ngidini aplikasi nggunakake API file tinimbang langsung ngakses piranti pamblokiran nggunakake ioctl.
    • Ing NFS, partisi sing dipasang liwat UDP dipateni kanthi standar. Dhukungan ditambahake kanggo kemampuan kanggo nyalin file langsung ing antarane server, sing ditetepake ing spesifikasi NFS 4.2. Nambahake opsi gunung anyar "softreval", sing ngidini nilai atribut sing di-cache digunakake yen ana kegagalan server. Contone, nalika nemtokake pilihan iki, sawise server ora kasedhiya, iku tetep bisa kanggo mindhah sadawane dalan ing partisi NFS lan ngakses informasi sing wis dienggoni ing cache.
    • Dilaksanakake optimalisasi kinerja mekanisme fs-verity, digunakake kanggo ngawasi integritas lan otentikasi file individu. Nambah kacepetan maca urutan amarga nggunakake wit hash Merkle. Kinerja FS_IOC_ENABLE_VERITY wis dioptimalake nalika ora ana data ing cache (waca preemptive kaca kanthi data wis ditrapake).
  • Virtualisasi lan Keamanan
    • Kemampuan kanggo mateni modul SELinux nalika mlaku wis ora digunakake, lan mbongkar SELinux sing wis diaktifake bakal dilarang ing mangsa ngarep. Kanggo mateni SELinux sampeyan kudu ngliwati parameter "selinux = 0" ing baris perintah kernel.
    • Ditambahake Dhukungan kanggo namespaces kanggo wektu (wektu namespaces), ngijini sampeyan kanggo njiret negara jam sistem kanggo wadhah (CLOCK_REALTIME,
      CLOCK_MONOTONIC, CLOCK_BOOTTIME), gunakake wektu sampeyan dhewe ing wadhah lan, nalika migrasi wadhah menyang host liyane, priksa manawa wacan CLOCK_MONOTONIC lan CLOCK_BOOTTIME tetep ora owah (gatung wektu sawise dimuat, kanthi utawa tanpa dipikirake ing mode turu. ).

    • Kolam pamblokiran / dev / acak wis dibusak. Prilaku / dev / acak padha karo / dev / urandom kanggo nyegah pamblokiran entropi sawise initialization blumbang.
    • Kernel inti kalebu driver sing ngidini sistem tamu sing mbukak VirtualBox kanggo masang direktori sing diekspor dening lingkungan host (VirtualBox Shared Folder).
    • Sakumpulan patch wis ditambahake menyang subsistem BPF (Petugas BPF), nalika nggunakake mekanisme Retpoline kanggo nglindhungi saka serangan kelas Spectre V2, ngijini sampeyan kanggo nambah efficiency nelpon program BPF nalika acara sing digandhengake karo wong-wong mau (contone, iku ndadekake iku bisa kanggo nyepetake telpon pawang XDP nalika a paket jaringan teka).
    • Added driver kanggo ndhukung TEE (Trusted Execution Environment) dibangun ing AMD APUs.
  • Layanan memori lan sistem
    • BPF wis nambahake dhukungan kanggo fungsi global. Pangembangan ditindakake minangka bagean saka inisiatif kanggo nambah dhukungan kanggo perpustakaan fungsi sing bisa dilebokake ing program BPF. Langkah sabanjure bakal ndhukung ekstensi dinamis sing ngidini fungsi global dimuat, kalebu ngganti fungsi global ana nalika lagi digunakake. Subsistem BPF uga nambah dhukungan kanggo varian operasi peta (digunakake kanggo nyimpen data sing terus-terusan), sing ndhukung eksekusi ing mode batch.
    • Ditambahake Piranti "cpu_cooling" ngijini sampeyan kanggo kelangan CPU overheated dening manggonke ing negara nganggur kanggo wektu cendhak.
    • Telpon sistem ditambahake mbukak2(), kang nawakake pesawat saka gendéra tambahan kanggo matesi résolusi path file (larangan nyebrang titik gunung, pranala simbolis, pranala sihir (/proc/PID/fd), "../" komponen).
    • Kanggo sistem heterogen adhedhasar arsitektur big.LITTLE, nggabungake inti CPU hemat energi sing kuat lan kurang efisien ing siji chip, parameter uclamp_min disetel nalika nglakokake tugas wektu nyata (muncul ing kernel 5.3 ana mekanisme kanggo ngamanake beban). Parameter iki njamin yen tugas bakal diselehake dening panjadwal ing inti CPU sing nduweni kinerja sing cukup.
    • Kernel dibebasake saka masalah 2038. Ngganti panangan pungkasan sing isih ana, sing nggunakake time_t jinis 32-bit (signed int) kanggo counter time epochal, sing, njupuk laporan saka 1970, kudu kebanjiran ing 2038.
    • Terus dandan antarmuka I/O asinkron io_uringing dijamin dhukungan kanggo operasi anyar: IORING_OP_FALLOCATE (reservasi area kosong), IORING_OP_OPENAT,
      IORING_OP_OPENAT2,
      IORING_OP_CLOSE (mbukak lan nutup file),
      IORING_OP_FILES_UPDATE (nambah lan mbusak file saka dhaptar akses cepet),
      IORING_OP_STATX (panyuwunan informasi file),
      IORING_OP_READ,
      IORING_OP_WRITE (analog sing disederhanakake saka IORING_OP_READV lan IORING_OP_WRITEV),
      IORING_OP_FADVISE,
      IORING_OP_MADVISE (varian asinkron saka panggilan posix_fadvise lan madvise), IORING_OP_SEND,
      IORING_OP_RECV (ngirim lan nampa data jaringan),
      IORING_OP_EPOLL_CTL (nglakoni operasi ing deskriptor file epoll).

    • Telpon sistem ditambahake pidfd_getfd(), ngidini proses njupuk deskriptor file kanggo file sing mbukak saka proses liyane.
    • Dilaksanakake mekanisme "bootconfig", sing ngidini, saliyane opsi baris printah, kanggo nemtokake paramèter saka kernel liwat file setelan. Kanggo nambah file kasebut menyang gambar initramfs, sarana bootconfig diusulake. Fitur iki bisa digunakake, contone, kanggo ngatur kprobes nalika boot.
    • Digawe maneh mekanisme kanggo nunggu nulis lan maca data ing pipo sing ora dijenengi. Owah-owahan kasebut bisa nyepetake tugas kayata perakitan paralel proyek gedhe. Nanging, optimasi bisa nyebabake kondisi balapan ing GNU make amarga ana bug ing rilis 4.2.1, sing didandani ing versi 4.3.
    • Added PR_SET_IO_FLUSHER flag kanggo prctl (), kang bisa digunakake kanggo tandha pangolahan memori-free sing ngirim ora tundhuk watesan nalika sistem kurang ing memori.
    • Adhedhasar sistem distribusi memori ION sing digunakake ing Android, subsistem wis dileksanakake dma-buf tumpukan, sing ngidini sampeyan ngontrol alokasi buffer DMA kanggo nuduhake wilayah memori antarane pembalap, aplikasi lan macem-macem subsistem.
  • Arsitektur hardware
    • Added support kanggo extension E0PD, kang muncul ing ARMv8.5 lan ngidini kanggo pangayoman marang serangan related kanggo eksekusi spekulatif instruksi ing CPU. Proteksi adhedhasar E0PD ngasilake overhead sing luwih murah tinimbang proteksi KPTI (Kernel Page Table Isolation).
    • Kanggo sistem adhedhasar arsitektur ARMv8.5, support kanggo instruksi RNG wis ditambahaké, menehi akses menyang hardware pseudo-acak generator nomer. Ing kernel, instruksi RNG digunakake kanggo ngasilake entropi nalika miwiti generator nomer pseudo-acak sing diwenehake kernel.
    • Mbusak dhukungan kanggo MPX (Memori Protection Extensions) ditambahake ing kernel 3.19 lan ngijini sampeyan kanggo ngatur mriksa pitunjuk kanggo mesthekake yen wates wilayah memori dihormati. Teknologi iki ora akeh digunakake ing compiler lan dibusak saka GCC.
    • Kanggo arsitektur RISC-V, dhukungan kanggo alat debugging KASan (Kernel address sanitizer) wis dileksanakake, sing mbantu ngenali kesalahan nalika nggarap memori.
  • Peralatan
    • Dhukungan spesifikasi dileksanakake USB 4.0, sing adhedhasar protokol Thunderbolt 3 lan nyedhiyakake throughput nganti 40 Gbps, nalika njaga kompatibilitas mundur karo USB 2.0 lan USB 3.2. Miturut analogi karo Thunderbolt Antarmuka USB 4.0 ngijini sampeyan kanggo tunnel protokol beda liwat kabel siji karo konektor Tipe-C, kalebu PCIe, Tampilan Port lan USB 3.x, uga implementasine piranti lunak saka protokol, contone, kanggo ngatur pranala jaringan antarane sarwa dumadi. Implementasine dibangun ing driver Thunderbolt sing wis kalebu ing kernel Linux lan adaptasi kanggo nggarap host lan piranti sing kompatibel karo USB4. Owah-owahan uga nambah dhukungan kanggo piranti Thunderbolt 3 kanggo implementasi piranti lunak Manager Sambungan, sing tanggung jawab kanggo nggawe trowongan kanggo nyambungake sawetara piranti liwat konektor siji.
    • Ing driver amdgpu ditambahake dhukungan awal kanggo teknologi proteksi salinan HDCP 2.x (High-bandwidth Digital Content Protection). Added support kanggo chip AMD Pollock ASIC adhedhasar Raven 2. Dileksanakake kemampuan kanggo ngreset GPU kanggo kulawargané Renoir lan Navi.
    • Driver DRM kanggo kertu video Intel ditambahake DSI VDSC support kanggo Kripik adhedhasar Ice Lake lan Tiger Lake microarchitecture, LMEM mmap (memori lokal piranti) wis dipun ginakaken, VBT (Video BIOS Tabel) parsing wis apik, HDCP 2.2 support wis dipun ginakaken kanggo Kripik Kopi Lake.
    • Pakaryan terus kanggo nggabungake kode driver amdkfd (kanggo GPU diskret, kayata Fiji, Tonga, Polaris) karo driver amdgpu.
    • Pembalap k10temp wis digarap maneh, nambah dhukungan kanggo nampilake voltase lan paramèter saiki kanggo CPU AMD Zen, uga informasi sing ditambahi saka sensor suhu sing digunakake ing CPU Zen lan Zen 2.
    • Ing driver nouveau ditambahake Dhukungan kanggo mode loading perangkat kukuh sing wis diverifikasi kanggo GPU NVIDIA adhedhasar microarchitecture Turing (GeForce RTX 2000), sing ngidini dhukungan kanggo akselerasi 3D kanggo kertu kasebut (download perangkat kukuh resmi kanthi teken digital NVIDIA dibutuhake). Dhukungan ditambahake kanggo mesin grafis TU10x. Masalah karo HD Audio wis ditanggulangi.
    • Nambahake dhukungan kanggo kompresi data nalika dikirim liwat DisplayPort MST (Transportasi Multi-Stream).
    • Tambah driver anyar"iki 11k»kanggo chip nirkabel Qualcomm sing ndhukung 802.11ax.
      Pembalap adhedhasar tumpukan mac80211 lan ndhukung mode titik akses, workstation lan jaringan bolong.

    • Liwat sysfs, akses kanggo maca sensor suhu sing bisa diwaca digunakake ing hard drive modern lan SSDs kasedhiya.
    • Dikirim owah-owahan wujud kanggo sistem swara ALSA, ngarahke ing ridding kode saka masalah 2038 (Nyingkiri nggunakake jinis time_t 32-bit ing antarmuka snd_pcm_mmap_status lan snd_pcm_mmap_control). Dhukungan tambahan kanggo codec audio anyar
      Qualcomm WCD9340 / WCD9341, Realtek RT700, RT711, RT715, RT1308, Inggenic JZ4770.

    • Ditambahake driver kanggo panel LCD Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM940B0,
      BOE NV140FHM-N49,
      Satoz SAT050AT40H12R2,
      Sharp LS020B1DD01D.

    • Ditambahake Dhukungan kanggo papan ARM lan platform Gen1 Amazon Echo (basis OMAP3630), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,
      Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,
      Tolino Shine 3 eBook reader,
      Embedded Artists COM (i.MX7ULP), SolidRun Clearfog CX/ITX lan HoneyComb (LX2160A), Google Coral Edge TPU (i.MX8MQ),
      Rockchip Radxa Dalang Carrier, Radxa Rock Pi N10, VMARC RK3399Pro SOM
      ST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel/Microchip AM9X60 (ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703/AM3715/DM3725, ST Ericsson ab8505, Unisoc, SC9863 Dhukungan tambahan kanggo pengontrol PCIe sing digunakake ing Raspberry Pi 7180.

Ing wektu sing padha, Latin American Free Software Foundation kawangun
pilihan rampung free kernel 5.6 - Linux-bebas 5.6-gnu, dibusak saka perangkat kukuh lan driver unsur ngemot non-free komponen utawa kode bagean, orane katrangan diwatesi dening Produsèn. Rilis anyar mateni loading blob ing driver kanggo AMD TEE, ATH11K lan Mediatek SCP. Kode reresik blob sing dianyari ing driver lan subsistem AMD PSP, amdgpu lan nouveau.

Source: opennet.ru

Add a comment