Linux 5.17 kernel release

Pagkatapos ng dalawang buwan ng pag-unlad, ipinakita ni Linus Torvalds ang paglabas ng Linux kernel 5.17. Kabilang sa mga pinaka-kapansin-pansing pagbabago: isang bagong sistema ng pamamahala ng pagganap para sa mga processor ng AMD, ang kakayahang muling mag-map ng mga user ID sa mga file system, suporta para sa mga portable na pinagsama-samang BPF program, isang paglipat ng pseudo-random number generator sa BLAKE2s algorithm, isang RTLA utility para sa real-time na pagsusuri sa pagpapatupad, isang bagong backend ng fscache para sa pag-cache ng mga network file system, ang kakayahang mag-attach ng mga pangalan sa mga hindi kilalang mmap na operasyon.

Kasama sa bagong bersyon ang 14203 na pag-aayos mula sa 1995 na mga developer, ang laki ng patch ay 37 MB (ang mga pagbabago ay nakaapekto sa 11366 na file, 506043 na linya ng code ang idinagdag, 250954 na linya ang tinanggal). Humigit-kumulang 44% ng lahat ng mga pagbabagong ipinakilala sa 5.17 ay nauugnay sa mga driver ng device, humigit-kumulang 16% ng mga pagbabago ay nauugnay sa pag-update ng code na partikular sa mga arkitektura ng hardware, 15% ay nauugnay sa network stack, 4% ay nauugnay sa mga file system, at 4% ay nauugnay sa panloob na mga subsystem ng kernel.

Mga pangunahing inobasyon sa kernel 5.17:

  • Disk subsystem, I/O at mga file system
    • Ipinatupad ang posibilidad ng nested mapping ng mga user ID ng mga naka-mount na file system, na ginamit upang ihambing ang mga file ng isang partikular na user sa isang naka-mount na foreign partition sa isa pang user sa kasalukuyang system. Binibigyang-daan ka ng idinagdag na tampok na recursively gumamit ng pagmamapa sa itaas ng mga file system kung saan inilapat na ang pagmamapa.
    • Ang subsystem ng fscache, na ginamit upang ayusin ang pag-cache sa lokal na file system ng data na inilipat sa pamamagitan ng mga network file system, ay ganap na muling naisulat. Ang bagong pagpapatupad ay nakikilala sa pamamagitan ng isang makabuluhang pagpapasimple ng code at ang pagpapalit ng mga kumplikadong operasyon ng pagpaplano at pagsubaybay sa mga estado ng object na may mas simpleng mga mekanismo. Ang suporta para sa bagong fscache ay ipinatupad sa CIFS file system.
    • Ang subsystem ng pagsubaybay sa kaganapan sa fanotify FS ay nagpapatupad ng bagong uri ng kaganapan, ang FAN_RENAME, na nagbibigay-daan sa iyong agarang maharang ang pagpapatakbo ng pagpapalit ng pangalan ng mga file o direktoryo (dati, dalawang magkahiwalay na kaganapang FAN_MOVED_FROM at FAN_MOVED_TO ang ginamit upang iproseso ang mga pagpapalit ng pangalan).
    • Ang Btrfs file system ay nag-optimize ng pag-log at fsync na mga operasyon para sa malalaking direktoryo, na ipinatupad sa pamamagitan ng pagkopya lamang ng mga index key at pagbabawas ng dami ng naka-log na metadata. Ang suporta para sa pag-index at paghahanap ayon sa laki ng mga talaan ng libreng espasyo ay ibinigay, na nagbawas ng latency ng humigit-kumulang 30% at nabawasan ang oras ng paghahanap. Pinapayagan na matakpan ang mga pagpapatakbo ng defragmentation. Ang kakayahang magdagdag ng mga device kapag ang pagbabalanse sa pagitan ng mga drive ay hindi pinagana, i.e. kapag nag-mount ng isang file system na may opsyon na skip_balance.
    • Ang isang bagong syntax para sa pag-mount ng Ceph file system ay iminungkahi, paglutas ng mga umiiral na problema na nauugnay sa pagbubuklod sa mga IP address. Bilang karagdagan sa mga IP address, maaari mo na ngayong gamitin ang cluster identifier (FSID) upang matukoy ang server: mount -t ceph [protektado ng email]_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
    • Lumipat ang Ext4 file system sa isang bagong mounting API na naghihiwalay sa mga mount options parsing at superblock configuration step. Ibinaba namin ang suporta para sa mga opsyon sa pag-mount ng lazytime at nolazytime, na idinagdag bilang pansamantalang pagbabago upang mapagaan ang paglipat ng util-linux upang magamit ang watawat ng MS_LAZYTIME. Nagdagdag ng suporta para sa pagtatakda at pagbabasa ng mga label sa FS (ioctl FS_IOC_GETFSLABEL at FS_IOC_SETFSLABEL).
    • Nagdagdag ang NFSv4 ng suporta para sa pagtatrabaho sa mga case-insensitive na file system sa mga pangalan ng file at direktoryo. Nagdaragdag ang NFSv4.1+ ng suporta para sa pagtukoy ng mga pinagsama-samang session (trunking).
  • Mga serbisyo ng memorya at system
    • Idinagdag ang driver ng amd-pstate upang magbigay ng dynamic na frequency control para sa pinakamainam na pagganap. Sinusuportahan ng driver ang mga AMD CPU at APU simula sa henerasyon ng Zen 2, na binuo kasama ng Valve at naglalayong pahusayin ang kahusayan sa pamamahala ng enerhiya. Para sa mga pagbabago sa adaptive frequency, ginagamit ang mekanismo ng CPPC (Collaborative Processor Performance Control), na nagbibigay-daan sa iyong baguhin ang mga indicator nang mas tumpak (hindi limitado sa tatlong antas ng performance) at mas mabilis na tumugon sa mga pagbabago sa estado kaysa sa dating ginamit na ACPI-based na P-state mga driver (CPUFreq).
    • Ang eBPF subsystem ay nag-aalok ng bpf_loop() handler, na nagbibigay ng alternatibong paraan upang ayusin ang mga loop sa mga eBPF program, nang mas mabilis at mas madali para sa pag-verify ng isang verifier.
    • Sa antas ng kernel, ang mekanismo ng CO-RE (Compile Once - Run Everywhere) ay ipinatupad, na nagbibigay-daan sa iyo upang i-compile ang code ng mga programa ng eBPF nang isang beses lamang at gumamit ng isang espesyal na unibersal na loader na umaangkop sa na-load na programa sa kasalukuyang mga uri ng kernel at BTF (Format ng Uri ng BPF).
    • Posibleng magtalaga ng mga pangalan sa mga lugar ng pribadong anonymous (inilalaan sa pamamagitan ng malloc) na memorya, na maaaring gawing simple ang pag-debug at pag-optimize ng pagkonsumo ng memorya sa mga application. Ang mga pangalan ay itinalaga sa pamamagitan ng prctl na may PR_SET_VMA_ANON_NAME na flag at ipinapakita sa /proc/pid/maps at /proc/pid/smaps sa form na "[anon: ]".
    • Ang task scheduler ay nagbibigay ng pagsubaybay at pagpapakita sa /proc/PID/sched ng oras na ginugol ng mga proseso sa forced-idle na estado, na ginagamit, halimbawa, upang bawasan ang load kapag nag-overheat ang processor.
    • Nagdagdag ng module ng gpio-sim, na idinisenyo upang gayahin ang mga chip ng GPIO para sa pagsubok.
    • Nagdagdag ng subcommand na "latency" sa command na "perf ftrace" upang bumuo ng mga histogram na may impormasyon ng latency.
    • Nagdagdag ng isang set ng "RTLA" na mga utility para sa pagsusuri ng trabaho sa real time. Kabilang dito ang mga utility tulad ng osnoise (tinutukoy ang impluwensya ng operating system sa pagsasagawa ng isang gawain) at timerlat (binabago ang mga pagkaantala na nauugnay sa timer).
    • Ang pangalawang serye ng mga patch ay isinama sa pagpapatupad ng konsepto ng mga page folio, na kahawig ng mga compound page, ngunit nagpahusay ng semantika at mas malinaw na organisasyon ng trabaho. Ang paggamit ng mga tomes ay nagbibigay-daan sa iyo upang mapabilis ang pamamahala ng memorya sa ilang mga kernel subsystem. Nakumpleto ng mga iminungkahing patch ang conversion ng cache ng pahina sa paggamit ng mga tomes at nagdagdag ng paunang suporta para sa mga tomes sa XFS file system.
    • Idinagdag ang "make mod2noconfig" build mode, na bumubuo ng configuration na nangongolekta ng lahat ng hindi pinaganang subsystem sa anyo ng mga kernel module.
    • Ang mga kinakailangan para sa bersyon ng LLVM/Clang na maaaring gamitin sa pagbuo ng kernel ay itinaas. Nangangailangan na ngayon ang Build ng hindi bababa sa LLVM 11 release.
  • Virtualization at Seguridad
    • Ang isang na-update na pagpapatupad ng pseudo-random number generator RDRAND, na responsable para sa pagpapatakbo ng /dev/random at /dev/urandom device, ay iminungkahi, na kapansin-pansin para sa paglipat sa paggamit ng BLAKE2s hash function sa halip na SHA1 para sa entropy mixing operations. Pinahusay ng pagbabago ang seguridad ng pseudo-random number generator sa pamamagitan ng pag-aalis ng problemang SHA1 algorithm at pag-aalis ng overwriting ng RNG initialization vector. Dahil ang BLAKE2s algorithm ay mas mataas kaysa sa SHA1 sa pagganap, ang paggamit nito ay nagkaroon din ng positibong epekto sa pagganap.
    • Idinagdag na proteksyon laban sa mga kahinaan sa mga processor na dulot ng speculative execution ng mga tagubilin pagkatapos ng walang kondisyong forward jump operations. Ang problema ay nangyayari dahil sa pre-emptive na pagpoproseso ng mga tagubilin kaagad kasunod ng pagtuturo ng sangay sa memorya (SLS, Straight Line Speculation). Ang pagpapagana ng proteksyon ay nangangailangan ng pagbuo na may kasalukuyang pagsubok na release ng GCC 12.
    • Nagdagdag ng mekanismo para sa pagsubaybay sa pagbibilang ng sanggunian (refcount, reference-count), na naglalayong bawasan ang bilang ng mga error sa pagbibilang ng sanggunian na humahantong sa pag-access sa memorya pagkatapos na ito ay mapalaya. Ang mekanismo ay kasalukuyang limitado sa network subsystem, ngunit sa hinaharap maaari itong iakma sa ibang mga bahagi ng kernel.
    • Ang mga pinalawig na pagsusuri ng mga bagong entry sa talahanayan ng pahina ng memorya ng proseso ay ipinatupad, na nagbibigay-daan upang makita ang ilang mga uri ng pinsala at ihinto ang system, hinaharangan ang mga pag-atake sa maagang yugto.
    • Idinagdag ang kakayahang mag-unpack ng mga kernel module nang direkta ng kernel mismo, at hindi ng isang handler sa user space, na nagbibigay-daan sa paggamit ng LoadPin LSM module upang matiyak na ang mga kernel module ay na-load sa memorya mula sa isang na-verify na storage device.
    • Ibinigay ang assembly na may flag na "-Wcast-function-type", na nagbibigay-daan sa mga babala tungkol sa pag-cast ng mga pointer ng function sa isang hindi tugmang uri.
    • Nagdagdag ng virtual host driver na pvUSB para sa Xen hypervisor, na nagbibigay ng access sa mga USB device na ipinapasa sa mga guest system (nagbibigay-daan sa mga guest system na ma-access ang mga pisikal na USB device na nakatalaga sa guest system).
    • May naidagdag na module na nagbibigay-daan sa iyong makipag-ugnayan sa pamamagitan ng Wi-Fi sa subsystem ng IME (Intel Management Engine), na nasa karamihan ng mga modernong motherboard na may mga Intel processor at ipinapatupad bilang isang hiwalay na microprocessor na gumagana nang hiwalay sa CPU.
    • Para sa arkitektura ng ARM64, ipinatupad ang suporta para sa tool sa pag-debug ng KCSAN (Kernel Concurrency Sanitizer), na idinisenyo upang dynamic na makita ang mga kondisyon ng lahi sa loob ng kernel.
    • Para sa 32-bit ARM system, ang kakayahang gamitin ang mekanismo ng KFENCE upang makita ang mga error kapag nagtatrabaho sa memorya ay naidagdag.
    • Ang KVM hypervisor ay nagdaragdag ng suporta para sa mga tagubilin ng AMX (Advanced Matrix Extension) na ipinatupad sa paparating na mga processor ng Intel Xeon Scalable server.
  • Subsystem ng network
    • Nagdagdag ng suporta para sa mga pagpapatakbo ng pag-offload na nauugnay sa pamamahala ng trapiko sa gilid ng mga device sa network.
    • Nagdagdag ng kakayahang gumamit ng MCTP (Management Component Transport Protocol) sa mga serial device. Maaaring gamitin ang MCTP upang makipag-usap sa pagitan ng mga controller ng pamamahala at ng kanilang mga nauugnay na device (mga host processor, peripheral, atbp.).
    • Ang TCP stack ay na-optimize, halimbawa, upang mapabuti ang pagganap ng mga recvmsg na tawag, ang naantalang paglabas ng mga socket buffer ay ipinatupad.
    • Sa antas ng awtoridad ng CAP_NET_RAW, pinapayagan ang pagtatakda ng SO_PRIORITY at SO_MARK mode sa pamamagitan ng setsockopt function.
    • Para sa IPv4, ang mga raw socket ay pinapayagang itali sa mga hindi lokal na IP address gamit ang mga opsyon na IP_FREEBIND at IP_TRANSPARENT.
    • Idinagdag ang sysctl arp_missed_max upang i-configure ang bilang ng threshold ng mga pagkabigo sa panahon ng pagsusuri sa monitor ng ARP, pagkatapos nito ay inilagay ang interface ng network sa isang hindi pinaganang estado.
    • Ibinigay ang kakayahang mag-configure ng hiwalay na sysctl min_pmtu at mtu_expires na mga halaga para sa mga namespace ng network.
    • Idinagdag ang kakayahang magtakda at matukoy ang laki ng mga buffer para sa mga papasok at papalabas na packet sa ethtool API.
    • Nagdagdag ang Netfilter ng suporta para sa pag-filter ng trapiko ng transit pppoe sa isang network bridge.
    • Ang ksmbd module, na nagpapatupad ng file server gamit ang SMB3 protocol, ay nagdagdag ng suporta para sa key exchange, pinagana ang network port 445 para sa smbdirect, at nagdagdag ng suporta para sa parameter na "smb2 max credit".
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Ang suporta para sa mga screen para sa pagpapakita ng kumpidensyal na impormasyon ay idinagdag sa drm (Direct Renderering Manager) subsystem at ang i915 driver, halimbawa, ang ilang mga laptop ay nilagyan ng mga screen na may built-in na confidential viewing mode, na nagpapahirap sa pagtingin mula sa labas. . Ang mga karagdagang pagbabago ay nagbibigay-daan sa iyo na ikonekta ang mga dalubhasang driver para sa mga naturang screen at kontrolin ang mga kumpidensyal na mode ng pagba-browse sa pamamagitan ng pagtatakda ng mga katangian sa mga regular na driver ng KMS.
    • Kasama sa driver ng amdgpu ang suporta para sa teknolohiya ng pag-debug ng STB (Smart Trace Buffer) para sa lahat ng AMD GPU na sumusuporta dito. Pinapadali ng STB na pag-aralan ang mga pagkabigo at tukuyin ang pinagmulan ng mga problema sa pamamagitan ng pag-iimbak sa isang espesyal na impormasyon sa buffer tungkol sa mga pag-andar na ginawa bago ang huling pagkabigo.
    • Ang i915 driver ay nagdaragdag ng suporta para sa Intel Raptor Lake S chips at nagbibigay-daan sa suporta para sa graphics subsystem ng Intel Alder Lake P chips bilang default. Posibleng kontrolin ang screen backlight sa pamamagitan ng VESA DPCD interface.
    • Ang suporta para sa hardware scrolling acceleration sa console ay naibalik sa mga driver ng fbcon/fbdev.
    • Patuloy na pagsasama ng mga pagbabago upang suportahan ang Apple M1 chips. Ipinatupad ang kakayahang gamitin ang simpledrm driver sa mga system na may Apple M1 chip para sa output sa pamamagitan ng framebuffer na ibinigay ng firmware.
    • Nagdagdag ng suporta para sa ARM SoΠ‘, mga device at board na Snapdragon 7c, 845 at 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 (ginamit sa mga Wi-fi router), 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.
    • Nagdagdag ng suporta para sa mga processor ng ARM Cortex-M55 at Cortex-M33.
    • Nagdagdag ng suporta para sa mga device batay sa CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
    • Nagdagdag ng suporta para sa StarFive JH7100 SoC batay sa arkitektura ng RISC-V.
    • Nagdagdag ng driver ng lenovo-yogabook-wmi para kontrolin ang backlight ng keyboard at i-access ang iba't ibang sensor sa Lenovo Yoga Book.
    • Idinagdag ang driver ng asus_wmi_sensors para ma-access ang mga sensor na ginagamit sa mga motherboard ng Asus X370, X470, B450, B550 at X399 batay sa mga processor ng AMD Ryzen.
    • Nagdagdag ng driver ng x86-android-tablets para sa mga tablet PC na nakabatay sa x86 na ipinadala kasama ng Android platform.
    • Nagdagdag ng suporta para sa TrekStor SurfTab duo W1 touch screen at electronic pen para sa Chuwi Hi10 Plus at Pro tablet.
    • Ang mga driver para sa SoC Tegra 20/30 ay nagdagdag ng suporta para sa pamamahala ng kuryente at boltahe. Pinapagana ang pag-boot sa mas lumang 32-bit na Tegra SoC device gaya ng ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 at Pad TF300TG.
    • Nagdagdag ng mga driver para sa mga pang-industriyang computer ng Siemens.
    • Nagdagdag ng suporta para sa Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA at Team Source Display TST043015 LCD panel.
    • Nagdagdag ng suporta para sa mga sound system at codec AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, Intel system na gumagamit ng NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLV320ADC3xxx. Ang mga problema sa Tegra194 HD-audio ay nalutas na. Nagdagdag ng suporta sa HDA para sa mga CS35L41 codec. Pinahusay na suporta para sa mga sound system para sa Lenovo at HP na mga laptop, pati na rin ang mga Gigabyte motherboard.

Pinagmulan: opennet.ru

Magdagdag ng komento