Berdana kernelê Linux 5.19

Piştî du mehan pêşveçûnê, Linus Torvalds kernel derxist. Linux 5.19. Di nav guhertinên herî berbiçav de: piştgiriya ji bo mîmariya pêvajoya LoongArch, entegrasyona patchên "BIG TCP", moda "li ser daxwazê" di fscache de, rakirina kodê ji bo piştgiriya formata a.out, şiyana karanîna ZSTD ji bo pêçandina firmware, navrûyek ji bo birêvebirina derxistina bîranînê ji qada bikarhêner, zêdebûna pêbawerî û performansa jeneratora hejmarên pseudo-random, piştgiriya ji bo Intel IFS (In-Field Scan), AMD SEV-SNP (Secure Nested Paging), Intel TDX (Trusted Domain Extensions) û ARM SME (Scalable Matrix Extension).

Di daxuyaniyê de, Linus got ku bi îhtîmalek mezin dê serbestberdana kernelê ya paşîn bi jimareya 6.0 be, ji ber ku şaxê 5.x têra xwe berdan berhev kiriye ku hejmara yekem di jimareya guhertoyê de biguhezîne. Guhertina hejmarê ji ber sedemên estetîk pêk tê û gavek fermî ye ku ji ber kombûna hejmareke mezin a pirsgirêkan di rêzê de nerehetiyê radike.

Linus her wiha behs kir ku wî ji bo çêkirina vê guhertoyê laptopek Apple-ê ya li ser bingeha mîmariya ARM64 (Apple Silicon) bikar aniye. Linux-jîngeh li ser bingeha belavkirina Asahi LinuxEv ne stasyona sereke ya xebatê ya Linus e, lê wî platform bikar anî da ku guncawbûna wê ji bo pêşvebirina kernel biceribîne û piştrast bike ku ew dikare dema rêwîtiyê, bi laptopek sivik di dest de, guhertoyên kernel pêşve bibe. Gelek sal berê, Linus xwedî ezmûna karanîna alavên Apple ji bo pêşvebirinê bû - wî carekê kompîturek bi CPU-ya ppc970 û laptopek Macbook Air bikar anî.

Guhertoya nû 16401 rastkirinên ji 2190 pêşdebiran vedihewîne (di berdana paşîn de ji 16206 pêşdebiran 2127 sererastkirin hebûn), mezinahiya patchê 90 MB e (guhertin bandor li 13847 pelan kir, 1149456 rêzikên kodê hatin zêdekirin, 349177 xet hatin jêbirin). Nêzîkî 39% ji hemî guhertinên ku di 5.19-an de hatine destnîşan kirin bi ajokarên cîhazê ve girêdayî ne, nêzîkê 21% ji guhertinan bi nûvekirina koda taybetî ya mîmarên hardware ve girêdayî ne, 11% bi stûna torê ve girêdayî ne, 4% 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 5.19 de:

  • Disk Subsystem, I/O û Pergalên Pelê
    • Pergala pelê ya EROFS (Pergala Pelê Tenê Xwendina Pêşkeftî), ku ji bo karanîna li ser dabeşên tenê xwendinê hatî armanc kirin, hate veguheztin da ku binepergala fscache bikar bîne, ku cachkirina daneyê peyda dike. Guhertin performansa pergalên ku tê de hejmareke mezin a konteynir ji wêneyek bingeha EROFS-ê têne destpêkirin bi girîngî çêtir kir.
    • Modek xwendinê ya li ser daxwazê ​​li jêrpergala fscache hate zêdekirin, ku ji bo xweşbînkirina EROFS tê bikar anîn. Moda nû dihêle hûn cachkirina xwendinê ji wêneyên FS yên ku di pergala herêmî de cih digirin organîze bikin. Berevajî şêwaza xebitandinê ya destpêkê, ya ku balê dikişîne ser vegirtina di pergala pelê ya herêmî ya daneyên ku bi pergalên pelên torê ve têne veguheztin, moda "li ser daxwazê" fonksiyonên wergirtina daneyan û nivîsandina wê li cache-ê li cîhek cûda vedigire. pêvajoya paşîn di cîhê bikarhêner de dimeşe.
    • XFS şiyana hilanîna mîlyaran taybetmendiyên dirêjkirî di i-node de peyda dike. Jimara herî zêde ya pelan ji 4 mîlyar zêde bûye 247. Ji bo nûvekirina atomî çend taybetiyên pelê yên dirêjkirî yekcar modek hate bicîh kirin.
    • Pergala pelan a Btrfs xebata bi kilîtiyan re xweştir kiriye, ku dema ku rasterast di moda nowait de dinivîse destûr dide ku bi qasî% 7 zêdekirina performansê. Performansa operasyonên di moda NOCOW de (bê kopî-li-nivîsandinê) bi qasî 3% zêde dibe. Dema ku emrê "send" dimeşîne, barkirina cache ya rûpelê kêm bûye. Mezinahiya herî kêm ya binrûpelan ji 64K bo 4K hatiye kêmkirin (binrûpelên ji rûpelên kernelê piçûktir dikarin werin bikar anîn). Veguheztinek ji karanîna dara radixê berbi algorîtmaya XArrays ve hatî çêkirin.
    • Modek li servera NFS-ê hate zêdekirin da ku parastina rewşa qefilandinê ya ku ji hêla xerîdarek ku bersivdayina daxwazan rawestandiye dirêj bike. Moda nû dihêle hûn paqijkirina qeflê heya rojekê dereng bixin heya ku xerîdarek din kilîtek hevrik daxwaz neke. Di moda normal de, astengkirin 90 çirke piştî ku xerîdar bersivdayînê rawestîne tê paqij kirin.
    • Binepergala şopandina bûyerê di fanotify FS de ala FAN_MARK_EVICTABLE bicîh tîne, bi vê yekê hûn dikarin pînekirina i-girêkên hedef ên di kaşê de neçalak bikin, mînakî, ji bo paşguhkirina şaxên binesaziyê bêyî ku beşên wan di cache-ê de pêç bikin.
    • Ajokera pergala pelê FAT32 ji bo bidestxistina agahdariya di derbarê dema çêkirina pelê de bi riya banga pergala statx-ê bi pêkanîna guhertoyek bikêrtir û bikêrhatîtir a stat (), ku agahdariya berfireh di derheqê pelê de vedigerîne, piştgirî zêde kiriye.
    • Optimîzasyonên girîng ji ajokera exFAT re hatine çêkirin da ku rê bide paqijkirina hevdem a komek sektoran dema ku moda 'dirsync' çalak e, li şûna paqijkirina sektor-bi-sektor a rêzdar. Bi kêmkirina hejmara daxwazên blokê piştî xweşbîniyê, performansa afirandina hejmareke mezin ji pelrêçan li ser qerta SD-ê ji% 73-85 zêde bû li gorî mezinahiya komê.
    • Kernel yekem nûvekirina rastker a ajokera ntfs3 vedigire. Ji ber ku ntfs3 di Cotmeha borî de di nav kernel 5.15 de bû, ajokar nehatiye nûve kirin û pêwendiya bi pêşdebiran re winda bûye, lê pêşdebiran niha ji nû ve dest bi guhertinên weşanê kirine. Pelên pêşniyarkirî xeletiyên ku dibin sedema rijandin û têkçûna bîranînê ji holê rakirin, pirsgirêkên bi darvekirina xfstests re çareser kirin, koda ku nayê bikar anîn paqij kirin, û xeletiyên rast rast kirin.
    • Ji bo OverlayFS, şiyana nexşeya nasnameyên bikarhêner ên pergalên pelan ên siwarkirî hatî sepandin, ku tê bikar anîn ku pelên bikarhênerek taybetî li ser dabeşek biyanî ya siwarkirî bi bikarhênerek din a li ser pergala heyî re hevber bike.
  • Xizmetên bîr û pergalê
    • Piştgiriya destpêkê ji bo mîmariya koma rêwerzên LoongArch-ê ku di pêvajoyên Loongson 3 5000 de tê bikar anîn, ku RISC ISA-ya nû, mîna MIPS û RISC-V, bicîh tîne, zêde kir. Mîmariya LoongArch di sê çêjên xwe de peyda dibe: 32-bit (LA32R), 32-bit (LA32S), û 64-bit (LA64) daxistî.
    • Koda ji bo piştgiriya formata pelê bicîhkirî ya a.out, ku di guhertoya 5.1 de hatibû betalkirin, hate rakirin. Formata a.out demek dirêj e li ser pergalên bi Linux, û çêkirina pelên a.out ji hêla amûrên nûjen ve di mîhengan de ji bo nayê piştgirî kirin Linux bi xwerû. Barkera pelên a.out dikare bi tevahî di qada bikarhêner de were bicîh kirin.
    • Piştgiriya ji bo vebijarkên boot-ê yên x86-ê hate sekinandin: nosp, nosmap, nosmep, noexec û noclflush).
    • Piştgiriya mîmariya kevnar a CPU h8300 (Renesas H8/300), ku demek dirêj bê piştgirî maye, hate sekinandin.
    • Kapasîteyên berfireh ên têkildarî bersivdayîna tespîtkirina qefleyên perçebûnê ("qefleyên perçebûyî") yên ku dema gihîştina daneya nelihevkirî ya di bîranînê de çêdibin ji ber vê yekê ku dema ku rêwerzek atomî tê meşandin, dane du xetên cache CPU-yê derbas dikin. Astengkirinên bi vî rengî dibin sedema kêmbûnek girîng a performansê. Ger berê, ji hêla xwerû, kernel bi agahdariya di derbarê pêvajoya ku bûye sedema astengkirinê de hişyariyek derdixist, naha pêvajoya pirsgirêkê dê bêtir hêdî bibe da ku performansa pergalê ya mayî biparêze.
    • Piştgiriyek zêde kir ji bo mekanîzmaya IFS (Skaniya Di Zeviyê) ya ku di pêvajoyên Intel de hatî bicîh kirin, ku dihêle hûn ceribandinên tespîtkirina CPU-ya nizm bimeşînin ku dikarin pirsgirêkên ku ji hêla amûrên standard ve li ser bingeha kodên rastkirina xeletiyê (ECC) an bitsên pariyê têne tespît kirin nas bikin. . Testên ku têne kirin di forma firmware-ya dakêşbar de ne, ku bi heman rengî nûvekirinên mîkrokodê ​​têne çêkirin. Encamên testê bi rêya sysfs ve têne peyda kirin.
    • Zêde kirin ku pelek bootconfig di nav kernelê de bihêle, ku dihêle, ji bilî vebijarkên rêzika fermanê, parametreyên kernelê bi pelek mîhengan ve diyar bike. Binavkirin bi karanîna vebijarka kombûnê 'CONFIG_BOOT_CONFIG_EMBED_FILE=»/PATH/TO/BOOTCONFIG/FILE»' tê kirin. Berê, bootconfig bi girêdana wêneya initrd ve hate destnîşankirin. Yekbûna nav kernelê dihêle ku bootconfig di veavakirinan de bêyî initrd were bikar anîn.
    • Kapasîteya dakêşana firmware-ya ku bi karanîna algorîtmaya Zstandard hatî berhev kirin hate bicîh kirin. Komek pelên kontrolê /sys/class/firmware/* li sysfs-ê hatine zêdekirin, ku dihêle hûn ji cîhê bikarhêner barkirina firmware-yê bidin destpêkirin.
    • Têkiliya I/O ya asynkron a io_uring ala nû pêşkêşî dike, IORING_RECVSEND_POLL_FIRST, ku gava were danîn, ew ê pêşî operasyonek torê bişîne ku bi karanîna dengdanê were hilanîn, ku dikare di rewşên ku pêvajokirina operasyonê bi hin dereng tê pejirandin de çavkaniyan hilîne. io_uring di heman demê de piştgirî ji bo banga pergala socket() zêde kir, alayên nû pêşniyar kir da ku rêveberiya ravekerên pelan hêsan bike, moda "multi-shot" ji bo pejirandina çend girêdan bi yekcarî di banga pejirandinê () de lê zêde kir, û ji bo şandina NVMe operasyonên zêde kir. emir rasterast ji bo amûrê.
    • Mîmariya Xtensa ji bo amûra verastkirinê ya KCSAN (Kernel Concurrency Sanitizer) piştgirî peyda dike, ku ji bo tespîtkirina dînamîkî şert û mercên nijadê di nav kernelê de hatî çêkirin. Di heman demê de piştgirî ji bo moda xewê û coprocessors zêde kir.
    • Ji bo mîmariya m68k (Motorola 68000) tê bicîhkirin makîneya virtual (simulatorê platformê) li ser bingeha emulatorê Android Zêrmasî.
    • Ji bo mîmariya AArch64, piştgirî ji bo dirêjkirina Armv9-A SME (Pêvekkirina Matrixê ya Scalable) hatîye bicîh kirin.
    • Binepergala eBPF destûrê dide ku nîşankerên tîpkirî di strukturên nexşeyê de hilîne, û di heman demê de piştgirî ji bo nîşangirên dînamîkî jî zêde dike.
    • Mekanîzmayek nû ya vegerandina bîranînê ya proaktîf tê pêşniyar kirin ku bi karanîna pelê memory.reclaim piştgirî dide kontrolkirina cîhê bikarhêner. Nivîsandina jimareyek li pelê diyarkirî dê hewl bide ku jimareya têkildar a baytê ji koma ku bi cgroup ve girêdayî ye derxe.
    • Rastbûna çêtir a karanîna bîranînê dema ku daneya di dabeşkirina guheztinê de bi karanîna mekanîzmaya zswap-ê berhev dike.
    • Ji bo mîmariya RISC-V, piştgirî ji bo xebitandinên 32-bit ên li ser pergalên 64-bit tê peyda kirin, modek tê zêdekirin ku taybetmendiyên sînordar bi rûpelên bîranînê ve girêde (mînak, neçalakkirina cachkirinê), û fonksiyona kexec_file_load() tê bicîh kirin. .
    • Pêkanîna piştevaniyê ji bo pergalên 32-bit Armv4T û Armv5 ji bo karanîna di avahiyên kernelên pir-platform ên gerdûnî yên ku ji bo pergalên cûda yên ARM-ê re maqûl in ve hatî adapte kirin.
  • Virtualization û Ewlekariya
    • Subpergala EFI şiyana veguheztina nepenî ya agahdariya veşartî ji pergalên mêvan re bêyî ku wê ji pergala mêvandar re eşkere bike bicîh tîne. Daneyên bi navgîniya pelrêça ewlekarî/coco di ewlehiyê de têne peyda kirin.
    • Moda parastinê ya qefilandinê, ya ku gihandina bikarhênerê root ji kernelê re sînordar dike û rêyên gerîdeya UEFI Secure Boot asteng dike, valahiyek ku dihêle ku parastin bi manîpulekirina debugera kernelê were derbas kirin ji holê rakiriye.
    • Di nav de deq hene ku ji bo baştirkirina pêbawerî û performansa çêkerê jimareya pseudo-random têne armanc kirin.
    • Dema ku bi karanîna Clang 15-ê tê çêkirin, piştgirî ji bo mekanîzmaya randomkirina strukturên kernel tê bicîh kirin.
    • Mekanîzmaya Landlock, ku dihêle hûn danûstendina komek pêvajoyên bi hawîrdora derve re sînordar bikin, ji bo qaîdeyên ku destûrê didin we ku hûn pêkanîna operasyonên binavkirina pelan kontrol bikin piştgirî peyda dike.
    • Binepergala IMA (Integrity Measurement Architecture), ku ji bo verastkirina yekparebûna pêkhateyên pergala xebitandinê bi karanîna îmzeyên dîjîtal û hashes hatî çêkirin, hate veguheztin ku modula fs-verity ji bo verastkirina pelê bikar bîne.
    • Mantiqa çalakiyan dema neçalakkirina gihandina bêdestûr a bine-pergala eBPF hate guheztin - berê hemî fermanên ku bi banga pergala bpf() ve girêdayî ne hatine neçalak kirin, û ji guhertoya 5.19-an pê ve, gihîştina fermanên ku rê nadin afirandina tiştan tê hiştin. . Vê tevgerê pêvajoyek îmtiyazê hewce dike ku bernameyek BPF bar bike, lê dûv re pêvajoyên bêdestûr dikarin bi bernameyê re têkilî daynin.
    • Piştgiriyek ji bo dirêjkirina AMD SEV-SNP (Rûpela Nested Ewle) zêde kir, ku bi tabloyên rûpela bîranîna hêlîn re xebata ewledar peyda dike û li hember êrîşên "undeSErVed" û "SEVerity" yên li ser pêvajoyên AMD EPYC diparêze, ku destûrê dide derbaskirina AMD SEV (Virtualîzasyona Bişîfrekirî ya Ewle). ) mekanîzmaya parastinê.
    • Piştgiriya ji bo mekanîzmaya Intel TDX (Trusted Domain Extensions) hate zêdekirin, ku destûrê dide astengkirina hewldanên aliyên sêyemîn ji bo gihîştina bîra şîfrekirî. makîneyên virtual.
    • Ajokarê virtio-blk, ku ji bo teqlîdkirina cîhazên blokê tê bikar anîn, piştgirî ji bo I/O bi karanîna dengdanê zêde kiriye, ku, li gorî ceribandinan, dereng bi qasî 10% kêm kiriye.
  • Subsystem Network
    • Di pakêtê de rêzek paçên TCP-ya BIG-ê vedihewîne ku dihêle hûn mezinahiya pakêtê ya herî zêde ya pakêtek TCP-ê heya 4 GB zêde bikin da ku xebata torên navenda daneya hundurîn a bilez a bilez xweştir bikin. Zêdebûnek wusa di mezinahiya pakêtê de bi mezinahiya qada sernavê ya 16-bit bi pêkanîna pakêtên "jumbo" ve, ku mezinahiya sernavê IP-ya wê 0-yê hatî danîn, û mezinahiya rastîn di 32-bitek veqetandî de tê şandin. zeviyê di sernavek veqetandî ya veqetandî de. Di ceribandina performansê de, danîna mezinahiya pakêtê li ser 185 KB rêjeya 50% zêde kir û derengiya veguheztina daneyê bi girîngî kêm kir.
    • Xebat li ser entegrekirina amûran di stûyê torê de berdewam kir da ku sedemên avêtina pakêtan (kodên sedem) bişopîne. Koda sedemê tê şandin dema ku bîranîna ku bi pakêtê ve girêdayî ye were azad kirin û rê dide rewşên wekî ji ber xeletiyên sernavê ji holê rakirina pakêtê, tespîtkirina xapandina rp_filter, jimareya kontrolê ya nederbasdar, ji bîrê nederbasdar, rêgezên IPSec XFRM têne destpêkirin, jimareya rêza nederbasdar TCP, hwd.
    • Piştgiriyek ji bo paşvexistina girêdanên MPTCP (MultiPath TCP) zêde kir ku TCP-ya birêkûpêk bikar bînin, di rewşên ku hin taybetmendiyên MPTCP nikaribin werin bikar anîn. MPTCP dirêjkirina protokola TCP-ê ye ji bo organîzekirina xebata pêwendiyek TCP-ê bi radestkirina pakêtan bi hevdemî li ser çend rêgezan bi navgînên torê yên cihêreng ên ku bi navnîşanên IP-yê yên cihêreng ve girêdayî ne. API-ê lê zêde kir da ku herikên MPTCP ji cîhê bikarhêner kontrol bike.
  • Amûr
    • Zêdetirî 420 hezar xetên kodê yên bi ajokera amdgpu ve hatine zêdekirin, ji wan nêzîkê 400k xetên pelên sernavê yên ku bixweber têne hilberandin in ji bo daneyên qeyda ASIC di ajokera GPU ya AMD de, û 22.5k xetên din pêkanîna destpêkê ya piştgirî ji bo AMD SoC21 peyda dikin. Mezinahiya giştî ya ajokerê ji bo GPU-yên AMD ji 4 mîlyon xetên kodê derbas bû. Ji bilî SoC21, ajokera AMD piştgirî ji bo SMU 13.x (Yekîneya Rêvebiriya Pergalê), piştgirîya nûvekirî ji bo USB-C û GPUVM, û amade ye ku piştgirî bide nifşên paşîn ên RDNA3 (RX 7000) û CDNA (AMD Instinct) platformên.
    • Ajokarê i915 (Intel) kapasîteyên têkildarî rêveberiya hêzê berfireh kiriye. Nasnameyên ji bo Intel DG2 (Arc Alchemist) GPU-yên ku li ser laptopan têne bikar anîn zêde kirin, piştgirîya destpêkê ji bo platforma Intel Raptor Lake-P (RPL-P) peyda kir, di derheqê qertên grafîkên Arctic Sound-M de agahdariya zêde kir, ji bo motorên hesabkirinê ABI hatî bicîh kirin, ji bo zêde kirin Piştgiriya kartên DG2 ji bo forma Tile4 ji bo pergalên li ser bingeha mîkroarchitectural Haswell, Piştgiriya DisplayPort HDR tête bicîh kirin.
    • Ajokarê Nouveau veguherî bikaranîna drm_gem_plane_helper_prepare_fb veqetandina bîra statîk li ser hin avahî û guherbaran; Di derbarê karanîna modulên kernelê de çavkaniya vekirî ya ji hêla NVIDIA ve li Nouveau, xebata heya nuha bi tespîtkirin û rakirina xeletiyan tê. Di pêşerojê de, firmware-ya hatî weşandin tête plan kirin ku ji bo baştirkirina performansa ajokerê were bikar anîn.
    • Ji bo kontrolkerê NVMe ku di komputerên Apple de li ser bingeha çîpê M1-ê hatî bikar anîn ajokerek zêde kir.

Di heman demê de, Weqfa Nermalava Azad a Amerîkaya Latîn guhertoyek kernel 5.19-a bi tevahî belaş çêkir - Linux-libre 5.19-gnu, ji firmware û elementên ajokerê yên ku pêkhateyên ne-azad an beşên kodê yên bi çarçoveya sînorkirî dihewînin hatiye paqijkirin. Ev berdan paqijkirina ajokerê ji bo pureLiFi X/XL/XC û TI AMx3 Wkup-M3 IPC vedihewîne. Koda paqijkirina blobê ji bo ajoker û bisîstemên Silicon Labs WFX, AMD amdgpu, Qualcomm WCNSS Peripheral Image Loader, Realtek Bluetooth, Mellanox Spectrum, Marvell WiFi-Ex, Intel AVS, IFS, û ajokarên pu3-imgu hatiye nûvekirin. Pêvajoya pelên devicetree yên Qualcomm AArch64 hatiye bicîhkirin. Piştgiriya ji bo nexşeya navkirina pêkhateya Sound Open Firmware ya nû hatiye zêdekirin. Paqijkirina ajokera ATM Ambassador, ku ji kernel hatibû rakirin, hatiye rawestandin. Kontrola paqijkirina blobê di HDCP û Mellanox Core de ji bo etîketên kconfig ên cuda hatiye veguheztin.

Source: opennet.ru

Ji bo malperên bi parastina DDoS, serverên VPS VDS mêvandariya pêbawer bikirin 🔥 Hostinga malperê ya pêbawer bi parastina DDoS, serverên VPS VDS bikirin | ProHoster