Serbestberdana kernel Linux 6.7

Piştî du mehan pêşveçûnê, Linus Torvalds serbestberdana kernel Linux 6.7 pêşkêş kir. Di nav guhertinên herî berbiçav de: entegrasyona pergala pelê Bcachefs, rawestandina piştgirî ji bo mîmariya Itanium, şiyana Nouvea ku bi firmware GSP-R re bixebite, piştgirî ji bo şîfrekirina TLS di NVMe-TCP de, şiyana karanîna îstîsnayan di BPF de, piştgiriya futex di io_uring de, optimîzekirina performansa plansazkerê fq (Rêza dadperwer), piştgirî ji dirêjkirina TCP-AO (Vebijarka Rastkirina TCP) û şiyana sînorkirina girêdanên torê di mekanîzmaya ewlehiya Landlock de, kontrolkirina gihîştinê li cîhê navên bikarhêner û io_uring zêde kir. bi rêya AppArmor.

Guhertoya nû 18405 rastkirinên ji 2066 pêşdebiran vedihewîne, mezinahiya patchê 72 MB ye (guhertin bandor li 13467 pelan kir, 906147 rêzikên kodê hatin zêdekirin, 341048 rêzik hatin jêbirin). Daxuyaniya paşîn ji 15291 pêşdebiran 2058 rastkirin hebûn, mezinahiya patchê 39 MB bû. Nêzîkî 45% ji hemî guhertinên ku di 6.7-ê de hatine destnîşan kirin bi ajokarên cîhazê ve girêdayî ne, nêzîkê 14% ji guhertinan bi nûvekirina koda taybetî ya mîmarên hardware ve girêdayî ne, 13% bi stûna torê ve girêdayî ne, 5% bi pergalên pelan ve girêdayî ne, û 3% bi bine pergalên kernelê yên navxweyî ve girêdayî ne.

Nûvekirinên sereke di kernel 6.7 de:

  • Disk Subsystem, I/O û Pergalên Pelê
    • Kernel koda pergala pelê Bcachefs dipejirîne, ku hewl dide ku performans, pêbawerî û mezinbûna XFS-ê bi dest bixe, digel hêmanên fonksiyona pêşkeftî ya ku di Btrfs û ZFS de têne dîtin. Mînakî, Bcachefs taybetmendiyên wekî tevlêbûna gelek cîhazên di dabeşkirinê de, sêwirana ajokera pir-tebeq (qata jêrîn bi daneyên ku pir caran têne bikar anîn li ser bingeha SSD-yên bilez, û qata jorîn bi daneyên kêm-karkirî yên ji dîskên hişk re), dubarekirin (RAID) piştgirî dike. 1/10), caching, berhevkirina daneya şefaf (modulên LZ4, gzip û ZSTD), perçeyên dewletê (wêneyên wêneyan), verastkirina yekparebûnê bi karanîna kontrolên kontrolê, şiyana hilanîna kodên rastkirina xeletiya Reed-Solomon (RAID 5/6), hilanîna agahdariya di nav de forma şîfrekirî (ChaCha20 û Poly1305 têne bikaranîn). Di warê performansê de, Bcachefs li pêş Btrfs û pergalên pelan ên din ên ku li ser bingeha mekanîzmaya Copy-on-Write-yê bingeh e, û leza xebitandinê ya nêzî Ext4 û XFS nîşan dide.
    • Pergala pelê Btrfs moda kotaya sadekirî destnîşan dike ku destûrê dide te ku hûn performansa bilindtir bişopînin bi şopandina rêgezên ku tenê di binbeşa ku tê de hatine afirandin, ku bi girîngî hesaban hêsan dike û performansê baştir dike, lê nahêle hûn rêjeyên ku di çend kesan de têne parve kirin hesab bikin. dabeşkirin.
    • Btrfs avahiyek daneyê ya "dara xetê" ya nû lê zêde kiriye, ku ji bo nexşeya radeya mentiqî di rewşên ku nexşeyên laşî di nav cîhazan de li hev nayên guncan e. Struktura niha di pêkanînên RAID0 û RAID1 de ji bo cîhazên blokên zonî tê bikar anîn. Di pêşerojê de, ew plan dikin ku vê strukturê di RAID-ên astek bilind de bikar bînin, ku dê hejmarek pirsgirêkên heyî yên di pêkanîna heyî de çareser bike.
    • Pergala pelê Ceph ji bo nexşekirina nasnameyên bikarhêner ên pergalên pelan ên siwarkirî piştgirî pêk tîne, ku ji bo berhevkirina pelên bikarhênerek taybetî li ser dabeşek biyanî ya siwarkirî bi bikarhênerek din a li ser pergala heyî re tê bikar anîn.
    • Kapasîteya diyarkirina uid û gid li ser mountê li efivarfs zêde kir da ku destûrê bide pêvajoyên ne-root ku guhêrbarên UEFI biguhezînin.
    • Ji bo xwendin û guheztina taybetmendiyên FS bangên ioctl li exFAT zêde kirin. Desthilatdariya pelrêçiyên mezinahiya zero zêde kirin.
    • F2FS şiyana karanîna blokên 16K bicîh tîne.
    • Mekanîzmaya otomountê ya autofs hate guheztin da ku API-ya nû ya sazkirina dabeşkirinê bikar bîne.
    • OverlayFS vebijarkên mount "lowerdir+" û "datadir+" pêşkêşî dike. Piştgiriyek ji bo lêdana hêlînê ya OverlayFS bi xattrs re zêde kir.
    • XFS di koda veqetandina blokê ya rast-ê de barkirina CPU-yê xweştir kiriye. Kapasîteya ku di heman demê de xebatên xwendinê û FICLONE-ê pêk bînin tê peyda kirin.
    • Koda EXT2 hate guherandin ku pelên rûpelê bikar bîne.
  • Xizmetên bîr û pergalê
    • Piştgiriya mîmariya ia64-ê ya ku di pêvajoyên Intel Itanium de, ku di sala 2021-an de bi tevahî hatine sekinandin, hatî bikar anîn, hate sekinandin. Pêvajoyên Itanium di 2001-an de ji hêla Intel ve hatin destnîşan kirin, lê mîmariya ia64 nekarî bi AMD64 re pêşbaziyê bike, nemaze ji ber performansa bilind a AMD64 û veguheztina hêsantir ji pêvajoyên 32-bit x86. Wekî encamek, berjewendîyên Intel di berjewendiya pêvajoyên x86-64 de hate guheztin, û lotika Itanium serverên HP Integrity ma, fermanên ku sê sal berê hatin rawestandin. Koda ji bo piştgirîya ia64 ji kernelê hate derxistin bi piranî ji ber nebûna piştgirîya demdirêj a ji bo vê platformê, dema ku Linus Torvalds amadebûna xwe diyar kir ku piştgirîya ia64 li kernelê vegerîne, lê tenê heke parêzvanek hebe ku karibe kalîteya bilind nîşan bide. Piştgiriya vê platformê li derveyî kernelê sereke bi kêmî ve salek.
    • Parametreya fermana xeta kernelê "ia32_emulation" lê zêde kir, ku destûrê dide te ku hûn di qonaxa bootê de ji bo mîmariya x32-86-ê hatine çêkirin piştgirî ji bo emûlasyona moda 64-bit çalak bikin an neçalak bikin. Ji aliyê pratîkî ve, vebijarka nû dihêle hûn kernelê bi piştgirîya lihevhatina bi sepanên 32-bit ava bikin, lê vê modê ji hêla xwerû ve neçalak bikin da ku vektora êrîşê li ser kernelê kêm bikin, ji ber ku API-ya hevahengiyê ji kernelê sereke kêmtir tê ceribandin. interfaces.
    • Koçberiya domdar a guhertinên ji şaxê Rust-for-Linux ve girêdayî bi karanîna zimanê Rust wekî zimanê duyemîn ji bo pêşdebirina ajokar û modulên kernelê ve girêdayî ye (Piştgiriya Rust ji hêla xwerû ve ne çalak e, û nabe sedema tevlêbûna Rust di nav de girêdayîbûna meclîsê ya ji bo kernelê). Guhertoya nû veguherîna karanîna serbestberdana Rust 1.73 dike û ji bo xebata bi rêzikên xebatê re komek girêdan pêşkêşî dike.
    • Mimkun e ku meriv mekanîzmaya binfmt_misc bikar bîne da ku piştgirî ji bo formatên pelê yên nû yên îcrakar zêde bike (mînakî, ji bo meşandina sepanên Java an Python-ê yên berhevkirî) di nav navên cihê yên bêdestûr de.
    • Cpuset-a kontrolkerê cgroup, ku destûrê dide te ku hûn karanîna navikên CPU-yê dema ku peywirek pêk tînin kontrol bikin, dabeşkirina dabeşkirina herêmî û ji dûr ve peyda dike, ku ji hev cûda dibin ka koma dêûbav beşa root rast e an na. Mîhengên nû "cpuset.cpus.exclusive" û "cpuset.cpus.excluisve.effective" jî ji bo girêdana CPU ya taybetî li cpuset hatine zêdekirin.
    • Binepergala BPF ji bo îstîsnayan piştgirîyê pêk tîne, yên ku wekî derketina acîl ji bernameyek BPF-ê bi şiyana ku bi ewlehî çarçoveyên stûyê veqetîne têne hilberandin. Digel vê yekê, bernameyên BPF destûrê dide karanîna nîşangirên kptr di girêdana bi CPU de.
    • Piştgiriya ji bo operasyonên bi Futex re li jêrzemîna Io_uring zêde kirine, û operasyonên nû hatine sepandin (vebijarkek asîdîkopî) û ioring_oP_ReitiT_Multishot dane hene an tampon tam nîn e).
    • Zêdekirina pêkanîna rêzikên FIFO yên yek-girêdayî yên sivik ên ku tenê ji bo veqetandinê di çarçoveyek pêvajoyê de spinlockek hewce dike û ji bo lêzêdekirina atomî li dorê di her çarçovê de spinlockek belav dike.
    • Ji bo veqetandin û vegerandina tiştan, tamponek zengilê "objpool" bi pêkanîna berbelavkirî ya rêzek performansa bilind zêde kir.
    • Beşa destpêkê ya guhertinan hate zêdekirin da ku API-ya futex2 ya nû bicîh bîne, ku li ser pergalên NUMA-yê performansa çêtir heye, ji 32 bit-an pê ve mezinahiyên din piştgirî dike, û dikare li şûna banga pergala futex() ya piralî tê bikar anîn.
    • Ji bo mîmariyên ARM32 û S390x, piştgirî ji bo koma heyî (cpuv4) rêwerzên BPF hatî zêdekirin.
    • Ji bo mîmariya RISC-V, gengaz e ku meriv moda kontrolê ya Shadow-Call Stack-ê ku di Clang 17-ê de peyda dibe bikar bîne, ku ji bo parastina li hember nivîsandina navnîşana vegerê ji fonksiyonek di bûyera zêdebûna tamponê ya li ser stikê de hatî çêkirin, hatî çêkirin. Esasê parastinê ev e ku piştî veguheztina kontrolê li fonksiyonek û wergirtina vê navnîşanê berî derketina fonksiyonê, navnîşana vegerê di stûnek "siya" veqetandî de hilîne.
    • Modek nû ya şopandina rûpela bîranîna biaqil li mekanîzmaya yekkirina rûpelên bîranînê yên yeksan (KSM: Kernel Samepage Merging) hate zêdekirin, ku rûpelên bêserkeftî hatine şopandin dişopîne û tundiya ji nû ve skankirina wan kêm dike. Ji bo çalakkirina moda nû, mîhenga /sys/kernel/mm/ksm/smart_scan hate zêdekirin.
    • Fermanek ioctl ya nû PAGEMAP_SCAN lê zêde kir, ku dema ku bi userfaultfd() re tê bikar anîn, dihêle hûn rastiyên nivîsandinê li rêzek bîranînek taybetî diyar bikin. Mînakî, taybetmendiya nû dikare di pergalê de were bikar anîn da ku rewşa pêvajoyên CRIU-yê an jî di pergalên dijî-xapandina lîstikê de hilîne û sererast bike.
    • Di pergala kombûnê de, heke berhevkarê Clang hebe, kombûna mînakên karanîna binepergala perf, ku wekî bernameyên BPF hatî nivîsandin, ji hêla xwerû ve tê çalak kirin.
    • Parçeya vîdyobuf a kevn, ku ji bo birêvebirina framebufferên di bine-pergala medyayê de dihat bikar anîn û 10 sal berê bi pêkanîna nû ya videobuf2-ê hate guheztin, hate rakirin.
  • Virtualization û Ewlekariya
    • Kapasîteya şîfrekirina daneyan di blokên ji mezinahiya blokê ya di pergala pelan de piçûktir li binepergala fscrypt hate zêdekirin. Dibe ku ev hewce bike ku mekanîzmayên şîfrekirinê yên hardware yên ku tenê blokên piçûk piştgirî dikin çalak bikin (mînak, kontrolkerên UFS yên ku tenê mezinahiya bloka 4096 piştgirî dikin dikarin bi pergalek pelê ya bi mezinahiya bloka 16K re werin bikar anîn).
    • Binepergala "iommufd", ku destûrê dide te ku hûn tabloyên rûpela bîranînê yên IOMMU (I/O-Management Unit-Management) bi navgîniya ravekerên pelan ên ji cîhê bikarhêner ve bi rê ve bibin, şopandina daneyên ku hîna ji cache (pîs) ji bo DMA-yê nehatine paqij kirin zêde kiriye. operasyonên, ku ji bo diyarkirina bîra bi daneyên neşirkirî di dema koça pêvajoyê de pêwîst e.
    • Piştgiriya diyarkirina qaîdeyên kontrolkirina gihîştinê ji bo soketên TCP-ê li mekanîzmaya Landlock-ê hatî zêdekirin, ku dihêle hûn danûstendina komek pêvajoyên bi hawîrdora derve re sînordar bikin. Mînakî, hûn dikarin qaîdeyek biafirînin ku tenê destûrê dide gihîştina porta torê 443 da ku girêdanên HTTPS saz bike.
    • Binepergala AppArmor şiyana kontrolkirina gihîştina mekanîzmaya io_uring û afirandina cîhên navên bikarhêner zêde kiriye, ku destûrê dide te ku hûn bi bijartî destûr bidin gihîştina van kapasîteyan tenê ji bo hin pêvajoyan.
    • API-ya erêkirina makîneya virtual zêde kir da ku yekbûna pêvajoya bootkirina makîneya virtual verast bike.
    • Pergalên LoongArch bi karanîna hîpervisorê KVM ve virtualîzasyonê piştgirî dikin.
    • Dema ku hypervisor KVM li ser pergalên RISC-V bikar tînin, piştgirî ji bo dirêjkirina Smstateen xuya bûye, ku makîneya virtual ji gihandina tomarên CPU-yê yên ku bi eşkere ji hêla hypervisor ve ne têne piştgirî kirin asteng dike. Di heman demê de piştgirî ji bo karanîna dirêjkirina Zicond di pergalên mêvan de zêde kir, ku destûrê dide karanîna hin operasyonên jimareya şertî.
    • Di pergalên mêvan-based x86 de ku di bin KVM de dixebitin, heya 4096 CPU-yên virtual destûr têne dayîn.
  • Subsystem Network
    • Ajokara NVMe-TCP (NVMe ser TCP), ku destûrê dide te ku hûn bi protokola TCP ve bigihîjin ajokarên NVMe li ser torê (NVM Express ser Fabrics), ji bo şîfrekirina kanala ragihandina daneyê bi karanîna TLS (bikaranîna KTLS û pêvajoyek paşerojê) piştgirî zêde kiriye. li cîhê bikarhêner tlshd ji bo danûstandina pêwendiyê).
    • Performansa nexşerêya pakêtê ya fq (Fair Queuing) xweştir bû, ku hişt ku di ceribandina tcp_rr (Daxwaza TCP / Bersiv) de û bi herikîna bêsînor a pakêtên UDP-ê re ji sedî 5% zêde bike.
    • TCP kapasîteya demjimêra mîkro-saniyeya rast (TCP TS) ya vebijarkî (RFC 7323) zêde dike, ku destûrê dide texmîna derengiya rasttir û modulên kontrolê yên qelebalix ên pêşkeftî. Ji bo çalakkirina wê, hûn dikarin fermana "ip route lê zêde bike 10/8 ... taybetmendiyên tcp_usec_ts" bikar bînin.
    • Stack TCP piştgirî ji dirêjkirina TCP-AO re zêde kiriye (Vebijarka Rastkirina TCP, RFC 5925), ku dihêle hûn sernavên TCP-ê bi karanîna kodên MAC (Koda Rastkirina Peyamê) verast bikin, algorîtmayên nûjentir HMAC-SHA1 û CMAC-AES- bikar bînin. 128 li şûna vebijarka TCP-MD5 ya berê heye ku li ser bingeha algorîtmaya MD5-ya mîras e.
    • Cûreyek nû ya cîhazên torê yên virtual "netkit" hate zêdekirin, mantiqa veguheztina daneyê ya ku tê de bi karanîna bernameyek BPF tête danîn.
    • KSMBD, pêkanînek di asta kernelê ya serverek SMB de, ji bo çareserkirina navên pelan ên ku cotên cîgir ên karakterên hevedudanî hene, piştgirî zêde kiriye.
    • NFS bi karûbarên RPC-ê re pêkanîna mijaran çêtir kiriye. Piştgiriya ji bo delegasyona nivîsandinê (ji bo NFSv4.1+) zêde kir. NFSD ji bo rêgirê netlinkê rpc_status piştgirî zêde kiriye. Dema ku ji nû ve hinardekirina knfsd-ê ji bo xerîdarên NFSv4.x piştgirî çêtir kirin.
  • Amûr
    • Piştgiriya destpêkê ji bo firmware GSP-RM li modula kernelê ya Nouveau hate zêdekirin, ku di GPU-ya NVIDIA RTX 20+ de tê bikar anîn da ku operasyonên destpêkê û kontrolkirina GPU-yê li kêleka mîkrokontrolkerek GSP-ya cihê (Pêvajoya Pergala GPU) veguhezîne. Piştgiriya GSP-RM dihêle ku ajokerê Nouveau bi bangên firmware bixebite, li şûna ku rasterast danûstendinên hardware bername bike, pir hêsantir dike ku piştgirî ji bo GPUyên nû yên NVIDIA-yê zêde bike bi karanîna bangên pêş-avakirî ji bo destpêkkirin û rêveberiya hêzê.
    • Ajokera AMDGPU GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1 û DML2 piştgirî dike. Piştgiriya çêtirkirî ji bo barkirina bêkêmasî (dema ku moda vîdyoyê diguhezîne felq nabe).
    • Ajokarê i915 piştgirî ji çîpên Intel Meteor Lake re zêde dike û pêkanîna destpêkê ya Intel LunarLake (Xe 2) lê zêde dike.
    • Piştgiriya ji bo kanalên veguheztina asîmetrîk ku li taybetmendiya USB4 v2 (120/40G) hatî zêdekirin.
    • Piştgiriya ji bo ARM SoC zêde kir: Qualcomm Snapdragon 720G (di têlefonên Xiaomi de tê bikar anîn), AMD Pensando Elba, Renesas, R8A779F4 (R-Car S4-8), USRobotics USR8200 (di rêgez û NAS de tê bikar anîn).
    • Piştgiriyek ji bo Fairphone 5 smartphone û panelên ARM Orange Pi 5, QuartzPro64, Turing RK1, Variscite MX6, BigTreeTech CB1, Freescale LX2162, Google Spherion, Google Hayato, Genio 1200 EVK, RK3566 GB30 Powkidy.
    • Piştgiriyek ji bo panelên RISC-V Milk-V Pioneer û Milk-V Duo zêde kir.
    • Piştgiriyek ji bo navberên deng ên laptopên HUAWEI yên ku bi CPU-yên AMD-ê ve têne peyda kirin zêde kir. Piştgiriyek ji bo axaftvanên din ên ku li ser laptopên Dell Oasis 13/14/16 hatine saz kirin zêde kir. Piştgiriya ji bo axaftvanên çêkirî yên ASUS K6500ZC zêde kir. Piştgiriyek ji bo nîşana lalbûnê li ser laptopên HP 255 G8 û G10 zêde kir. Piştgiriya ji bo ajokarên bihîstwerî yên acp6.3 zêde kir. Piştgiriya Focusrite Clarett+ 2Pre û 4Pre pêwendiya tomarkirina profesyonel zêde kir.

Di heman demê de, Weqfa Nermalava Azad a Amerîkaya Latîn guhertoyek kernel bi tevahî belaş ava kir 6.7 - Linux-libre 6.7-gnu, ji hêmanên firmware û ajokarên ku tê de hêmanên ne-azad an beşên kodê hene, ku çarçoweya wan sînordar e, paqij kir. ji aliyê çêker. Di berdana 6.7 de, koda paqijkirina blobê di ajokar û bine pergalên cihêreng de hatî nûve kirin, mînakî, di ajokarên amdgpu, nouveau, adreno, mwifiex, mt7988, ath11k, avs û btqca de. Koda paqijkirina ajokarên localtalk û rtl8192u ji ber dûrxistina wan ji kernelê hate rakirin. Ji bo paqijkirina ajokarên xhci-pci, rtl8xxxu û rtw8822b hêmanên nepêwîst rakirin, ku berê bi xeletî hatine zêdekirin. Ji bo mîmariya Aarch64 navên blobên di pelên dts de paqij kirin. Di ajokarên nû mt7925, tps6598x, aw87390 û aw88399 de blob hatin rakirin.

Source: opennet.ru

Add a comment