Linux 5.9 kernel kuburitswa

Mushure memwedzi miviri yebudiriro, Linus Torvalds kuunzwa kernel release Linux 5.9. Pakati peshanduko dzinonyanya kukosha: kudzikisira kupinza kwezviratidzo kubva kune proprietary modules kuenda kuGPL modules, kukurumidza kushandura mamiriro ezvinhu uchishandisa FSGSBASE processor rairo, tsigiro yekernel image compression uchishandisa Zstd, kugadzirisa zvakare kukoshesa kwetambo mukernel, rutsigiro rwePRP. (Parallel Redundancy Protocol) , bandwidth-inoziva kuronga mune yekupedzisira scheduler, preemptive kurongedza kwemapeji endangariro, kugona mureza CAP_CHECKPOINT_RESTOR, close_range () system call, dm-crypt performance kunatsiridza, kubviswa kwekodhi ye32-bit Xen PV vashanyi, nyowani slab memory. manejimendi manejimendi, sarudzo "kununura" muBtrfs, rutsigiro rweinline encryption mu ext4 uye F2FS.

Iyo vhezheni nyowani inosanganisira 16074 inogadzirisa kubva ku2011 vanogadzira,
chigamba saizi - 62 MB (shanduko dzakakanganisa 14548 mafaera, 782155 mitsetse yekodhi yakawedzerwa, 314792 mitsetse yakabviswa). Inenge 45% yezvose zvakaratidzwa mu5.9
shanduko dzine hukama nevatyairi vemidziyo, ingangoita 15% yekuchinja ndeye
mafungiro ekuvandudza kodhi yakananga kune hardware architectures, 13%
inoenderana netiweki stack, 3% kune mafaira masisitimu uye 3% kune yemukati
kernel subsystems.

chikuru zvitsva:

  • Memory uye system masevhisi
    • Yakaomeswa dziviriro kubva pakushandiswa kweGPL layer yekubatanidza madhiraivha ane kernel zvikamu zvinotengeswa kunze kwemamodule chete pasi peGPL rezinesi. Mureza weTAINT_PROPRIETARY_MODULE wave kugara nhaka mumamodule ese anopinza zviratidzo kubva kumamodule ane mureza uyu. Kana GPL module ichiedza kuunza zviratidzo kubva kune isiri-GPL module, iyo GPL module ichagara nhaka TAINT_PROPRIETARY_MODULE label uye haizokwanisi kuwana kernel zvikamu zvinongowanikwa kune GPL-licensed modules, kunyangwe module yacho yakambotora kunze zviratidzo kubva chikamu che "gplonly". Kiyi yekumashure (inoburitsa kunze EXPORT_SYMBOL_GPL chete mumamodule akaunzwa kunze kwenyika EXPORT_SYMBOL_GPL), anogona kukanganisa basa revatyairi vedzimba, haaisikwe (chete mureza wemodule wemuridzi unogarwa, asi kwete zvinosungirwa neGPL).
    • Added kcompactd injini tsigiro ye pre-packing memory mapeji kumashure kuti uwedzere nhamba yemapeji makuru ekurangarira anowanikwa kune kernel. Zvinoenderana nekufungidzira kwekutanga, kurongedza kwemashure, nemutengo wepamusoro-soro, kunogona kuderedza kunonoka kana uchigovera mapeji makuru ekurangarira (peji-hombe) ne70-80 nguva zvichienzaniswa neyaimboshandiswa yekurongedza nzira, yakatangwa kana paine chinodiwa (pa-chinodikanwa). ) Kuisa miganhu yekunze kupatsanurwa iyo kcompactd ichapa, sysctl vm.compaction_proactiveness yakawedzerwa.
    • Added rutsigiro rwe kernel mufananidzo compression uchishandisa algorithm zstandard (zstd).
    • Tsigiro yemirairo ye processor yaitwa kune x86 masisitimu FSGSBASE, iyo inokubvumira kuti uverenge uye uchinje zviri mukati meFS / GS zvinyorwa kubva panzvimbo yevashandisi. Mu kernel, FSGSBASE inoshandiswa kukurumidza kushandura mamiriro ezvinhu nekubvisa zvisingakoshi MSR kunyora mashandiro eGSBASE, uye munzvimbo yemushandisi inodzivirira isingakodzeri nharembozha yekuchinja FS/GS.
    • Added iyo "allow_writes" parameter inobvumidza iwe kurambidza shanduko kune processor's MSR marejista kubva munzvimbo yemushandisi uye kudzikisira kuwana zviri mukati meiyi marejista kuti uverenge mashandiro, sezvo kushandura MSR kunogona kuunza matambudziko. Nekutadza, kunyora hakusati kwakaremara, uye shanduko kuMSR inoratidzwa mugiyo, asi mune ramangwana inorongwa kushandura iyo yekusarudzika yekuwana kune yekuverenga-chete mode.
    • Kune iyo asynchronous I/O interface io_uring Yakawedzera tsigiro yakazara yeasynchronous buffered kuverenga mashandiro ayo asingade kernel shinda. Kurekodha rutsigiro kunotarisirwa mukuburitswa kweramangwana.
    • Mune iyo I/O scheduler zuva rekupedzisira itwa kuronga kwakavakirwa pakugona, kubvumira ita sarudzo dzakaringana pane asymmetric masisitimu akadai seArM-based system DynamIQ uye hombe.LITTLE, iyo inosanganisa ine simba uye isinganyanyi kushanda nesimba-inoshanda CPU cores mune imwe chip. Kunyanya, iyo nyowani modhi inokubvumira kuti udzivise kuronga mismatches kana inononoka CPU musimboti isina zviwanikwa zvekupedza basa nenguva.
    • Iyo simba rekushandisa modhi mu kernel (Energy Model framework) ikozvino inotsanangura kwete chete CPU simba rekushandisa maitiro, asi zvakare inovhara maperipheral zvishandiso.
    • Iyo close_range() system yekufona yaitwa kuti ibvumidze maitiro ekuvhara ruzhinji rweakavhurika faira descriptors kamwechete.
    • Kubva pakuitwa kweiyo text console uye fbcon driver kodhi yakabviswa, iyo inopa kugona kutenderedza zvinyorwa kumashure (CONFIG_VGACON_SOFT_SCROLLBACK) nekupfuura huwandu hweVGA text mode vhidhiyo memory.
    • Redesigned algorithm yekugovera zvakakosha kune tambo mukati me kernel. Sarudzo nyowani inopa kuenderana kurinani kune ese kernel subsystems kana uchipa zvekutanga kune chaiyo-nguva mabasa.
    • Yakawedzerwa sysctl sched_uclamp_util_min_rt_default kudzora CPU inosimudzira marongero emabasa enguva-chaiyo (semuenzaniso, unogona kushandura maitiro eiyo-chaiyo-nguva mabasa pane nhunzi kuti uchengetedze simba mushure mekuchinja kune bhatiri simba kana nharembozha).
    • Gadziriro dzakaitwa kushandisa rutsigiro rweTransparent Huge Mapeji tekinoroji mune cache peji.
    • Iyo fanotify injini inoshandisa mireza mitsva yeFAN_REPORT_NAME neFAN_REPORT_DIR_FID kuti itaure zita remubereki uye ruzivo rwakasiyana rweFID panoitika kugadzira, kudzima, kana zviitiko zvekufamba padhairekitori zvinhu uye zvisiri zvedhairekitori.
    • Zvezvikwata itwa itsva slab memory controller, iyo inozivikanwa pakufambisa slab accounting kubva kumemory page level kusvika kune kernel object level, izvo zvinoita kuti zvikwanise kugovera mapeji eslab mumapoka akasiyana, pane kugovera akaparadzana slab cache kune rimwe nerimwe boka. Iyo yakarongwa nzira inoita kuti iwedzere kugona kwekushandisa slab, kuderedza saizi yendangariro inoshandiswa kune slab ne30-45%, zvakanyanya kuderedza kurangarira kwese kudyiwa kwekernel uye kuderedza kupatsanurwa kwendangariro.
    • Mune inonzwika subsystem ALSA ΠΈ USB stack, maererano ichangobva kugamuchirwa kurudziro pamashandisirwo emazwi anosanganisirwa muLinux kernel; mazwi asiri iwo ezvematongerwo enyika akacheneswa. Kodhi yacho yakacheneswa pamazwi anoti "muranda", "tenzi", "blacklist" uye "whitelist".
  • Virtualization uye Chengetedzo
    • Kana uchivaka kernel uchishandisa iyo Clang compiler akaonekwa kugona kugadzirisa (CONFIG_INIT_STACK_ALL_ZERO) otomatiki kutanga kusvika zero yemhando dzese dzakachengetwa pachitunha (pakuvaka, tsanangura "-ftrivial-auto-var-init=zero").
    • Mune seccomp subsystem, kana uchishandisa process control mode munzvimbo yemushandisi, akawedzera mukana kutsiviwa kwezvitsanangudzo zvefaira mumaitiro akatariswa kuti atevedzere zvizere masystem ekufona anotungamira mukugadzirwa kwemafaira anotsanangura. Iko kushanda kuri kudiwa mune yakasarudzika midziyo masisitimu uye sandbox mashandisirwo eChrome.
    • Kune iyo xtensa uye csky zvivakwa, tsigiro yakawedzerwa yekudzikamisa masisitimu mafoni uchishandisa iyo seccomp subsystem. Kune xtensa, kutsigirwa kwemaitiro ekuongorora kunoitwa zvakare.
    • Added Hutsva hwekugona mureza CAP_CHECKPOINT_RESTORE, iyo inokutendera iwe kuti upe mukana kune zvikwanisiro zvine chekuita nechando uye kudzoreredza mamiriro emaitiro pasina kutamisa mamwe maropafadzo.
    • GCC 11 inopa ese maficha aunoda kuita
      debugging chishandiso KCSAN (Kernel Concurrency Sanitizer), yakagadzirirwa kuona zvine simba mamiriro emujaho mukati mekernel. Saka, KCSAN ikozvino inogona kushandiswa nekernels dzakavakwa muGCC.

    • Ye AMD Zen uye itsva CPU modhi akawedzera tsigiro yeP2PDMA tekinoroji, iyo inokutendera iwe kuti ushandise DMA kune yakananga dhata kuendesa pakati pekuyeuka kwemidziyo miviri yakabatana nePCI bhazi.
    • Iyo modhi yakawedzerwa kune dm-crypt iyo inokutendera iwe kudzikisa latency nekuita cryptographic data processing pasina kushandisa mitsara yebasa. Iyi modhi inodiwawo pakushanda kwakaringana ne zoned block zvishandiso (midziyo ine nzvimbo dzinofanirwa kunyorwa sequentially, kugadzirisa boka rese remabhuraki). Basa rakaitwa kuwedzera throughput uye kuderedza latency mu dm-crypt.
    • Yakabviswa kodhi kutsigira 32-bit vashanyi vanomhanya muparavirtualization mode ichimhanyisa Xen hypervisor. Vashandisi vemasisitimu akadai vanofanirwa kushandura kushandisa 64-bit kernels munzvimbo dzevaenzi kana kushandisa yakazara (HVM) kana yakasanganiswa (PVH) mamodhi ekuona panzvimbo peparavirtualization (PV) kumhanya nharaunda.
  • Disk Subsystem, I/O uye File Systems
    • PaBtrfs faira system itwa "recue" yekukwira sarudzo inobatanidza kuwana kune dzimwe nzira dzekudzoreredza. Tsigiro ye "alloc_start" uye "subvolrootid" sarudzo dzabviswa, uye iyo "inode_cache" sarudzo yadzikiswa. Performance optimizations yakaitwa, kunyanya kukurumidza kukurumidza kuita kwefsync () mashandiro. Added kugona kushandisa mamwe marudzi echeki kunze kweCRC32c.
    • Added kugona kushandisa inline encryption (Inline Encryption) mune ext4 uye F2FS faira masisitimu, kugonesa iyo "inlinecrypt" gomo sarudzo inopihwa. Inline encryption modhi inobvumidza iwe kushandisa iyo encryption masisitimu akavakirwa mudhiraivha controller, iyo inovhara pachena uye decrypts yekupinda / kubuda.
    • Mu XFS secured inode reset (flush) mune yakazara asynchronous mode iyo isingavharidzi maitiro paunenge uchiita ndangariro yekuchenesa oparesheni. Yakagadzirisa nyaya yakagara yakamira quota yakakonzera kuti muganho wakapfava uye inode inoganhura yambiro kuti itevedzerwe zvisizvo. Kuitwa kwakabatana kweDAX rutsigiro rwe ext4 uye xfs.
    • MuExt4 itwa preload block allocation bitmaps. Yakasanganiswa nekudzikisira kuongorora kwemapoka asina kutanga, iko optimization yakaderedza nguva yaidiwa kukwidza zvikamu zvakakura kwazvo.
    • Mune F2FS akawedzera ioctl F2FS_IOC_SEC_TRIM_FILE, iyo inokutendera kuti ushandise iyo TRIM/kurasa mirairo kugadziridza data yakatsanangurwa mufaira, semuenzaniso, kudzima makiyi ekupinda pasina kusiya data rasara padhiraivha.
      MuF2FS zvakare akawedzera nzira itsva yekuunganidza marara GC_URGENT_LOW, iyo inoshanda zvine hukasha nekubvisa mamwe macheki ekuti uri munzvimbo isina basa usati watanga muunganidzi wemarara.

    • Mubcache, bucket_size yezviyero yakawedzerwa kubva pa16 kusvika pa32 bits mukugadzirira kugonesa macache emudziyo wenzvimbo.
    • Iko kugona kushandisa inline encryption yakavakirwa-mukati hardware encryption yakapihwa neUFS controllers yakawedzerwa kune SCSI subsystem (Yese Flash Flash Kuchengeta).
    • Imwe itsva kernel command line parameter "debugfs" yakawedzerwa, iyo inokubvumira kudzora kuwanikwa kwepseudo-FS yezita rimwe chete.
    • Iyo NFSv4.2 mutengi inopa rutsigiro kune yakawedzera faira hunhu (xattr).
    • Mu dm-guruva akawedzera interface yekuratidza kamwechete runyorwa rwese akaonekwa akashata mabhuroki padhisiki ("dmsetup meseji dust1 0 listbadblocks").
    • Kune md/raid5, iyo /sys/block/md1/md/stripe_size parameter yakawedzerwa kugadzirisa iyo STRIPE block size.
    • Zvemidziyo yekuchengetedza yeNVMe akawedzera tsigiro yemirairo yenzvimbo yekutyaira (ZNS, NVM Express Zoned Namespace), iyo inokutendera kuti ugovane nzvimbo yekuchengetera muzvikamu zvinoumba mapoka emabhuraki ekudzora kwakazara pamusoro pekuiswa kwedata padhiraivha.
  • Network subsystem
    • MuNetfilter akawedzera kugona kuramba mapaketi pachikuva usati watarisa cheki (iyo REJECT kutaura ikozvino inogona kushandiswa kwete chete mumaketani eINPUT, FORWARD uye OUTPUT, asiwo paPREROUTING nhanho ye icmp uye tcp).
    • Mune nfttables akawedzera kugona kuongorora zviitiko zvine chekuita nekuchinja kwekugadzirisa.
    • Mune nftables mune netlink API akawedzera tsigiro yemaketani asingazivikanwe, zita raro rinopihwa zvine simba nekernel. Paunodzima mutemo wakabatana neketani isingazivikanwe, cheni yacho pachayo inodzimwa.
    • BPF inowedzera tsigiro yekuti iterators ifambe, kusefa, uye kugadzirisa zvinhu zveassociative arrays (mepu) pasina kukopa data munzvimbo yemushandisi. Iterators inogona kushandiswa kune TCP neUDP zvigadziko, zvichibvumira zvirongwa zveBPF kuti zvidzoke pamusoro pezvinyorwa zvezvigadziko zvakavhurika uye kubvisa ruzivo rwavanoda kubva kwavari.
    • Yakawedzera rudzi rutsva rwechirongwa cheBPF BPF_PROG_TYPE_SK_LOOKUP, chinotangwa kana kernel ichitsvaga socket yekuteerera yakakodzera yekubatanidza kunouya. Uchishandisa chirongwa cheBPF seizvi, unogona kugadzira vanobata vanoita sarudzo pamusoro pekuti ndeipi socket yekubatanidza inofanirwa kubatanidzwa nayo, pasina kumanikidzwa nebind() system call. Semuenzaniso, unogona kubatanidza socket imwe chete nehuwandu hwekero kana zviteshi. Pamusoro pezvo, tsigiro yeSO_KEEPALIVE mureza yakawedzerwa ku bpf_setsockopt() uye kugona kuisa BPF_CGROUP_INET_SOCK_RELEASE vanobata, vanodanwa kana soketi yaburitswa, yaitwa.
    • Protocol support yaitwa PRP (Parallel Redundancy Protocol), iyo inobvumira Ethernet-based switching kune backup chiteshi, pachena kune maapplication, kana paine kukundikana kwechero network zvikamu.
    • Stack mac80211 akawedzera tsigiro yechina-nhanho WPA/WPA2-PSK chiteshi kutaurirana mune yekuwana nzvimbo modhi.
    • Yakawedzera kugona kushandura iyo qdisc (queuing chirango) scheduler kushandisa FQ-PIE (Flow Queue PIE) network queue management algorithm nekusarudzika, ine chinangwa chekudzikisa kukanganisa kwepakati packet buffering pamupendero network network (bufferbloat) muma network ane cable modem.
    • Zvitsva zvakawedzerwa kuMPTCP (MultiPath TCP), mawedzero eTCP protocol yekuronga kushanda kweTCP yekubatanidza nekuendeswa kwemapaketi panguva imwe chete munzira dzinoverengeka kuburikidza netiweki interfaces dzakasiyana dzine chekuita neakasiyana IP kero. Yakawedzera tsigiro yesy cookie, DATA_FIN, buffer auto-tuning, socket diagnostics, uye REUSEADDR, REUSEPORT, uye V6ONLY mireza mu setsockopt.
    • Kune chaiwo matafura ekufambisa VRF (Virtual Routing uye Forwarding), iyo inobvumira kuronga kushanda kweanoverengeka routing domains pane imwe system, iyo "yakasimba" modhi yaitwa. Mune iyi modhi, tafura chaiyo inogona kungobatanidzwa chete netafura yenzira isingashandiswe mune mamwe matafura chaiwo.
    • Mutyairi asina waya ari ath11k akawedzera tsigira 6GHz frequency uye spectral scanning.
  • Zvigadzirwa
    • Yakabviswa kodhi kutsigira iyo UniCore architecture, yakagadziridzwa paMicroprocessor Center yePeking University uye inosanganisirwa muLinux kernel muna 2011. Ichi chivakwa chave chisina kuchengetedzwa kubva 2014 uye haina rutsigiro muGCC.
    • Tsigiro yeRISC-V yekuvakisa yakaitwa kcov (debugfs interface yekuongorora kernel kodhi yekuvhara), kmemleak (memory leak yekuona sisitimu), kuchengetedza stack, kusvetuka mamaki uye tickless mashandiro (multitasking yakazvimirira yenguva masiginecha).
    • Kune iyo PowerPC dhizaini, tsigiro yemitsara yespinlock yakaitwa, iyo yakavandudza zvakanyanya mashandiro mumamiriro ekuvhara kukonana.
    • Kune ARM uye ARM64 zvivakwa, iyo processor frequency regulation mechanism inogoneswa nekusarudzika scheduleutil (cpufreq gavhuna), iyo inoshandisa zvakananga ruzivo kubva kumugadziri webasa kuita sarudzo pakuchinja frequency uye inokwanisa kuwana ipapo madhiraivha ecpufreq kuti akurumidze kushandura frequency, nekukasika kugadzirisa iyo CPU inoshanda paramita kune yazvino mutoro.
    • Iyo i915 DRM mutyairi weIntel mifananidzo yemakadhi inosanganisira tsigiro yemachipisi yakavakirwa pa microarchitecture Rocket Lake uye yakawedzera rutsigiro rwekutanga kune discrete makadhi Intel Xe DG1.
    • Amdgpu mutyairi akawedzera rutsigiro rwekutanga AMD GPUs Navi 21 (Navy Flounder) uye Navi 22 (Sienna Cichlid). Yakawedzerwa rutsigiro rweUVD/VCE vhidhiyo encoding uye decoding acceleration injini dzeSouthern Islands GPU (Radeon HD 7000).
      Yakawedzera chivakwa kutenderedza chiratidziro ne90, 180 kana 270 madhigirii.

      Zvinofadza, mutyairi we AMD GPU zviri mutyairi mukuru mu kernel - ane mamiriyoni 2.71 mitsara yekodhi, iyo inenge 10% yehukuru hwese kernel (27.81 mamiriyoni mitsara). Panguva imwecheteyo, mitsara miriyoni 1.79 inoverengerwa nemafaira emusoro anogadzirwa otomatiki ane data remarejista eGPU, uye C kodhi ine zviuru mazana matatu nemakumi matanhatu nemitsara (pakuenzanisa, mutyairi weIntel i366 anosanganisira mitsara zviuru mazana maviri nepfumbamwe, uye Nouveau - zviuru zana nemakumi mana nepfumbamwe).

    • MuNouveau driver akawedzera tsigiro yeframe-ne-frame kutendeseka kutarisa uchishandisa CRC (Cyclic Redundancy Checks) muNVIDIA GPU inoratidzira injini. Kuitwa kwacho kunobva pane zvinyorwa zvakapihwa neNVIDIA.
    • Akawedzera madhiraivha eLCD mapaneru: Frida FRD350H54004, KOE TX26D202VM0BWA, CDTech S070PWS19HP-FC21, CDTech S070SWV29HG-DC44, Tianma TM070JVHG33 uye Xing599bangda.
    • Iyo ALSA audio subsystem inotsigira Intel Silent Stream (inoenderera mberi simba modhi yekunze HDMI zvishandiso kubvisa kunonoka kana uchitanga kutamba) uye mudziyo mutsva kudzora kuvhenekera kweiyo maikorofoni activation uye mbeveve mabhatani, uye zvakare yakawedzera rutsigiro rwemidziyo mitsva, kusanganisira controller. Longson 7A1000.
    • Yakawedzerwa rutsigiro rwemabhodhi eARM, zvishandiso uye mapuratifomu: Pine64 PinePhone v1.2, Lenovo IdeaPad Duet 10.1, ASUS Google Nexus 7, Acer Iconia Tab A500, Qualcomm Snapdragon SDM630 (inoshandiswa muSony Xperia 10, 10 Plus, XA2 Plus uye XA2 Plus, XA2 Plus uye XA2 Plus Ultra), Jetson Xavier NX, Amlogic WeTek Core6, Aspeed EthanolX, mapuranga mashanu matsva anobva paNXP i.MX3011, MikroTik RouterBoard 950, Xiaomi Libra, Microsoft Lumia 5, Sony Xperia Z5, MStar, Microchip Sparx3, Intel Keem Bay, Amazon Alpine v2, Renesas RZ/GXNUMXH.

Panguva imwecheteyo, iyo Latin America Yemahara Software Foundation akaumbwa
sarudzo zvachose yemahara kernel 5.9 - Linux-mahara 5.9-gnu, kucheneswa kwe firmware uye zvinhu zvemutyairi zvine zvikamu zvisingabhadharwi kana zvikamu zvekodhi, chiyero chazvo chinogumira nemuiti. Kuburitswa kutsva kunodzima blob kurodha mumadhiraivha eWiFi rtw8821c uye SoC MediaTek mt8183. Yakagadziridzwa blob yekuchenesa kodhi muHabanalabs, Wilc1000, amdgpu, mt7615, i915 CSR, Mellanox mlxsw (Spectrum3), r8169 (rtl8125b-2) uye x86 touchscreen madhiraivha uye subsystems.

Source: opennet.ru

Voeg