Serbestberdana kernel Linux 5.2

Piştî du mehan pêşveçûnê, Linus Torvalds danasîn berdana kernel Linux 5.2. Di nav guheztinên herî berbiçav de: Moda xebitandinê Ext4-nehesas e, pergala veqetandî ji bo sazkirina pergala pelê bang dike, ajokarên ji bo GPU Mali 4xx/ 6xx/7xx, şiyana birêvebirina guhertinên di nirxên sysctl de di bernameyên BPF de, nexşeya cîhazê. module dm-toz, parastina li dijî êrîşan MDS, piştgirîya Sound Open Firmware-ya ji bo DSP, xweşbînkirina performansa BFQ, binepergala PSI (Agahdariya Ragihandina Zextê) bi îmkana karanîna di Android-ê de tîne.

Guhertoya nû 15100 rastkirinên ji 1882 pêşdebiran vedihewîne,
Mezinahiya patchê - 62 MB (guhertin bandor li 30889 pelan kir, 625094 rêzikên kodê hatin zêdekirin, 531864 rêz hatin jêbirin). Nêzîkî 45% ji hemî di 5.2 de hatî pêşkêş kirin
Guhertin bi ajokarên cîhazê ve girêdayî ne, bi qasî 21% ji guhertinan hene
helwesta li hember nûvekirina koda taybetî ji bo mîmarên hardware, 12%
bi stoka torê ve girêdayî ye, 3% ji pergalên pelan re û 3% ji hundurê
bine sîstemên kernel. 12.4% ji hemî guhertinan ji hêla Intel, 6.3% ji hêla Red Hat,% 5.4 ji hêla Google ve,% 4.0 ji hêla AMD, 3.1% ji hêla SUSE, 3% ji hêla IBM, 2.7% ji hêla Huawei, 2.7% ji hêla Linaro, 2.2% ji hêla ARM ve hatine amadekirin. , 1.6 % - Oracle.

sereke nûbûnên:

  • Disk Subsystem, I/O û Pergalên Pelê
    • Ji bo Ext4 zêde kirin alîkarî bêyî ferqkirina rewşa karakteran di navên pelan de bixebitin, ku tenê di derheqê pelrêçên vala yên kesane de bi karanîna taybetmendiya nû "+F" (EXT4_CASEFOLD_FL) tê çalak kirin. Dema ku ev taybetmendî li ser pelrêçek were danîn, dê hemî operasyonên bi pel û binkrektorên hundurîn re bêyî ku halê karakteran li ber çavan bê girtin, di nav de doz dê were paşguh kirin dema lêgerîn û vekirina pelan (mînak, pelên Test.txt, test.txt û test.TXT di pelrêçên weha de dê wekî hev bêne hesibandin). Ji hêla xwerû ve, pergala pelan ji bilî pelrêçanên bi taybetmendiya "chattr + F" hesasiya xwe berdewam dike;
    • Fonksiyonên ji bo hilberandina tîpên UTF-8 di navên pelan de, ku di dema pêkanîna operasyonên berhevdana rêzikan û normalîzekirinê de têne bikar anîn, hatine yek kirin;
    • XFS ji bo şopandina tenduristiya pergala pelan binesaziyê û ji bo lêpirsîna rewşa tenduristiyê ioctlek nû zêde dike. Taybetmendiyek ceribandinê hate bicîh kirin da ku di firînê de (serhêl scrub) jimarvanên superblock kontrol bikin.
    • Modula nû ya cîhaz-nexşeyê lê zêde kir "dm-toz", ku dihêle hûn dema xwendina ji dîskê xuyabûna blokên xirab ên li ser medyayê an xeletiyan simul bikin. Modul dihêle hûn di rûyê têkçûnên mumkun de debugkirin û ceribandina serîlêdan û pergalên hilanînê yên cihêreng hêsan bikin;
    • Çîbecî bû Optimîzasyonên performansê yên girîng ji bo plansazkerê BFQ I/O. Di şert û mercên barkirina I/O ya bilind de, xweşbîn kirin destûrdan Dema operasyonên wek destpêkirina sepanan heta %80 kêm bikin.
    • Ji bo sazkirina pergalên pelan rêzek bangên pergalê zêde kirin: fsopen(), open_tree(), fspick(), fsmount (), fsconfig() и move_mount (). Van bangên pergalê dihêle hûn qonaxên cihêreng ên lêdanê ji hev veqetînin (superblokê pêvajo bikin, di derheqê pergala pelê de agahdar bikin, bixin, bi xala mountê ve girêbidin), ku berê bi karanîna pergala mount () ya hevpar ve hatî çêkirin. Bangên veqetandî şiyana pêkanîna senaryoyên çîyayê tevlihevtir peyda dikin û operasyonên cihêreng ên wekî ji nû veavakirina superblokê, çalakkirina vebijarkan, guheztina xala çiyê, û çûna nav cîhek cihêreng peyda dikin. Digel vê yekê, pêvajoyek cihêreng dihêle hûn bi rast sedemên derketina kodên xeletiyê diyar bikin û ji bo pergalên pelan ên pir-qatî gelek jêderan saz bikin, wek overlayfs;
    • Operasyonek nû IORING_OP_SYNC_FILE_RANGE ji bo io_uring I/O asynchronous, ku tevdigere wek bangek pergalê, li navberê hate zêde kirin. sync_file_range(), û di heman demê de şiyana qeydkirina bûyerfd bi io_uring û wergirtina agahdariya di derbarê qedandina operasyonan de bicîh kir;
    • Ji bo pergala pelan a CIFS, FIEMAP ioctl hatiye zêdekirin, nexşeya radeya bikêr peyda dike, û her weha piştgirî dide modên SEEK_DATA û SEEK_HOLE;
    • Di binpergala FUSE de pêşniyar kirin API ji bo birêvebirina cachkirina daneyan;
    • Btrfs pêkanîna qgroups xweştir kiriye û leza darvekirina fsyncê ji bo pelên bi gelek girêdanên hişk çêtir kiriye. Koda kontrolkirina yekparebûna daneyê baştir bûye, ku naha zirara muhtemel a agahdariya di RAM-ê de berî ku daneyan li ser dîskê bişewitîne hesab dike;
    • CEPH ji bo hinardekirina wêneyan bi riya NFS piştgirî zêde kir;
    • Bicîhkirina sazkirina NFSv4 di moda "nerm" de çêtir bûye (heke di gihandina serverê de di moda "nerm" de xeletiyek çêbibe, bangek ku tavilê kodek xeletiyê vedigerîne, û di moda "hişk" de heya ku FS-ê kontrol nayê dayîn. berdestbûn an dema derbasbûnê tê vegerandin). Daxuyaniya nû birêvebirina wextê rasttir, vegerandina qezayê zûtir, û vebijarkek nû ya çîyayê "nermtir" peyda dike ku dihêle hûn koda xeletiyê (ETIMEDOUT) ya ku dema ku dem derbas dibe biguhezînin;
    • nfsdcld API, ku ji bo şopandina rewşa xerîdarên NFS hatî çêkirin, destûrê dide servera NFS ku piştî nûvekirina rewşa xerîdar rast bişopîne. Ji ber vê yekê, daemonê nfsdcld naha dikare wekî rêvekerek nfsdcltrack tevbigere;
    • Ji bo AFS zêde kirin emûlasyona qefleyên rêza baytê di pelan de (Girtina Range Byte);
  • Virtualization û Ewlekariya
    • Xebat hatiye kirin ji bo rakirina cihên di kernelê de ku destûrê didin darvekirina kodê ji deverên bîranîna ronîkirî yên binivîsandî, ku rê dide astengkirina kunên potansiyel ên ku dikarin di dema êrîşê de werin bikar anîn;
    • Parametreyek rêza fermana kernelê ya nû "mitigations=" hat zêdekirin, ku rêyek hêsan peyda dike ji bo kontrolkirina çalakkirina hin teknîkan ji bo parastina li hember qelsiyên ku bi pêkanîna spekulatîf a rêwerzên li ser CPU ve girêdayî ne. Derbaskirina "mitigations=off" hemî rêbazên heyî neçalak dike, û moda xwerû "mitigations=auto" parastinê dike lê bandorê li karanîna Hyper Threading nake. Moda "mitigations=auto,nosmt" jî heke ji hêla rêbaza parastinê ve hewce be, Hyper Threading neçalak dike.
    • Zêde kirin piştgirî ji bo îmzeya dîjîtal a elektronîkî li gorî GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3), pêşxistin Vitaly Chikunov ji Basalt SPO. Piştgiriya AES128-CCM ji bo pêkanîna TLS ya xwecihî zêde kir. Piştgiriya ji bo algorîtmayên AEAD li modula crypto_simd zêde kir;
    • Di Kconfig de zêde kirin beşa "hişkkirina kernelê" ya veqetandî bi vebijarkên ku parastina kernel zêde dike. Heya nuha, beşa nû tenê mîhengan vedihewîne ji bo çalakkirina pêvekên kontrolkirina GCC;
    • Koda kernel hema hema ye teslîm kirin ji daxuyaniyên dozê yên neşikestî yên di veguheztinê de (bêyî vegerandin an şikestin piştî her bloka dozê). Dimîne ku 32 ji 2311 rewşên karanîna bi vî rengî ya guhêrbar rast bikin, piştî ku dê dema avakirina kernelê moda "-Wimplicit-fallthrough" bikar bînin;
    • Ji bo mîmariya PowerPC, piştgirî ji bo mekanîzmayên hardware ji bo sînorkirina rêyên gihîştina kernelê yên nedilxwaz ji daneyan re di cîhê bikarhêner de hatî bicîh kirin;
    • Koda astengkirinê zêde kir êrîşên Dersa MDS (Nimûneya Daneyên Mîkroarchitectural) di pêvajoyên Intel de. Hûn dikarin bi guhêrbara SysFS "/sys/devices/system/cpu/xerabbûn/mds" kontrol bikin ka pergalek ji qelsiyan re xeternak e. Berdeste du awayên parastinê: tije, ku mîkrokodê ​​nûvekirî hewce dike, û derbaz, ku bi tevahî paqijkirina tamponên CPU-yê dema ku kontrol li cîhê bikarhêner an pergala mêvan tê veguheztin garantî nake. Ji bo kontrolkirina modên parastinê, parametreya "mds=" li kernelê hatiye zêdekirin, ku dikare nirxan "temam", "tijî, nosmt" (+ Hyper-Threads neçalak bike) û "off" bigire;
    • Li ser pergalên x86-64, ji bo IRQ, mekanîzmayên debugkirinê û rêvebirên îstîsnayan, parastina "rûpel parêzvanan" hatiye zêdekirin, ku cewhera wê veguheztina rûpelên bîranînê yên li ser sînorê bi stikê re ye, ku gihîştina wê dibe sedema hilberîna pelê. îstîsna (rûpel-xelet);
    • Vesazkirina sysctl vm.unprivileged_userfaultfd lê zêde kir, ku karîna pêvajoyên bêdestûr ji bo karanîna banga pergalê userfaultfd() kontrol dike;
  • Subsystem Network
    • Zêde kirin Piştgiriya deriyê IPv6 ji bo rêyên IPv4. Mînakî, hûn niha dikarin qaîdeyên rêvekirinê yên wekî "ip ro lê zêde bike 172.16.1.0/24 bi rêya inet6 2001:db8::1 dev eth0" diyar bikin;
    • Ji bo ICMPv6, ioctl bangên icmp_echo_ignore_anycast û icmp_echo_ignore_multicast têne bicîh kirin ku ji bo ICMP ECHO ji bo hercast paşguh bikin û
      navnîşanên pirzimanî. Zêde kirin şiyana bisînorkirina tundiya pêvajoyek pakêtê ya ICMPv6;

    • Ji bo protokola meshê ya BATMAN (Nêzîkbûna Baştir Ji Tora Adhoc a Mobîl), ku destûrê dide afirandina torên nemerkezî ku tê de her girêk bi girêkên cîran ve girêdayî ye, zêde kirin piştgirî ji bo weşana ji multicast heya unicast, û hem jî şiyana kontrolkirina bi sysfs;
    • Di ettoolê de zêde kirin Parametreyek nû ya Fast Link Down, ku dihêle hûn wextê ku ji bo 1000BaseT agahdarî li ser bûyerek girêdanek dakêşin kêm bikin (di şert û mercên normal de dereng heya 750ms e);
    • Xuya bû fersend girêdana tunelên Foo-Over-UDP bi navnîşek taybetî, navgîniya torê an soketek taybetî (berê girêdan tenê bi maskek hevpar dihat kirin);
    • Di stûyê bêtêlê de pêşkêş kirin îmkana pêkanîna handleran
      OWE (Şîfrekirina Wireless Oportunistic) di cîhê bikarhêner de;

    • Di Netfilterê de, piştgirî ji bo malbata navnîşana inet li zincîreyên nat hate zêdekirin (mînak, hûn niha dikarin qaîdeyek wergerê bikar bînin da ku ipv4 û ipv6 pêvajoyê bikin, bêyî ku rêzikên ipv4 û ipv6 ji hev veqetînin);
    • Di netlinkê de zêde kirin en.wiktionary.org режим (Noun) hişk ji bo verastkirina hişk a rastbûna hemî peyam û taybetmendiyan, ku tê de destûr nayê dayîn ku mezinahiya hêviyê ya taybetmendiyan were derbas kirin û lêzêdekirina daneyên zêde di dawiya peyaman de qedexe ye;
  • Xizmetên bîr û pergalê
    • Ala CLONE_PIDFD li banga pergala klon() hate zêdekirin, dema ku hate destnîşan kirin, ravekera pelê "pidfd" ku bi pêvajoya zarokê hatî afirandin ve hatî nas kirin li pêvajoya dêûbav tê vegerandin. Mînakî, ev ravekera pelê dikare ji bo şandina sînyalan bê tirsa ku di rewşek pêşbaziyê de were şandin (di cih de piştî şandina nîşanê, dibe ku PID-a armanc ji ber bidawîbûna pêvajoyê were berdan û ji hêla pêvajoyek din ve were dagir kirin);
    • Ji bo guhertoya duyemîn a cgroupan, fonksiyona kontrolkera cemidandinê hate zêdekirin, bi vê yekê hûn dikarin di cgroup de xebata xwe rawestînin û bi demkî hin çavkaniyan (CPU, I/O, û dibe ku bîranîn jî) azad bikin da ku karên din bikin. Rêvebirin bi pelên cgroup.freeze û cgroup.events di dara cgroupê de tê kirin. Têketina 1 di cgroup.freeze de pêvajoyên di cgroupa heyî û hemî komên zarokan de dicemidîne. Ji ber ku cemidandin hinek dem digire, pelek din a cgroup.events tê peyda kirin ku hûn pê re dikarin li ser qedandina operasyonê fêr bibin;
    • Ewle kirin hinartina taybetmendiyên bîranînê yên ku bi her girêkek sysfs-ê ve girêdayî ne, ku dihêle hûn ji cîhê bikarhêner xwezaya hilanîna bankên bîranînê di pergalên bi bîranîna heterojen de diyar bikin;
    • Binepergala PSI (Pressure Stall Information) hate çêtir kirin, ku destûrê dide te ku hûn agahdariya li ser dema bendê ya wergirtina çavkaniyên cihêreng (CPU, bîranîn, I/O) ji bo hin kar an komek pêvajoyên di cgroup de analîz bikin. Bi karanîna PSI-ê, rêvebirên cîhê bikarhêner dikarin asta barkirina pergalê û qalibên hêdîbûnê li gorî Average Load-ê rasttir texmîn bikin. Guhertoya nû ji bo danîna tixûbên hestiyariyê û şiyana karanîna banga anketê () piştgirî peyda dike da ku agahdarî werbigire ku bendên destnîşankirî ji bo demek diyarkirî hatine destpêkirin. Vê taybetmendiyê dihêle Android-ê di qonaxek destpêkê de kêmasiyên bîranînê bişopîne, çavkaniya pirsgirêkan nas bike û serîlêdanên ne girîng biqedîne bêyî ku bibe sedema pirsgirêkên ku ji bikarhêner re xuya dibin. Di dema ceribandina stresê de, amûrên şopandina serfkariya bîra-based PSI li gorî statîstîkên vmpressure 10 carî kêmtir pozîtîfên derewîn destnîşan kirin;
    • Koda ji bo kontrolkirina bernameyên BPF-ê hatî xweşbîn kirin, ku dihêle ku ji bo bernameyên mezin 20 carî zûtir kontrol bikin. Optimîzasyonê mimkun kir ku sînorê mezinahiya bernameyên BPF ji 4096 berbi mîlyonek rêwerzan were bilind kirin;
    • Ji bo bernameyên BPF pêşkêş kirin şiyana gihîştina daneyên gerdûnî, ku dihêle hûn di bernameyan de guhêrbar û domdar ên gerdûnî diyar bikin;
    • Zêde kirin API, ku destûrê dide te ku hûn guheztinên di parametreyên sysctl de ji bernameyên BPF kontrol bikin;
    • Ji bo mîmariya MIPS32, berhevkarek JIT-ê ji bo makîneya virtual eBPF hatî bicîh kirin;
    • Ji bo mîmariya PowerPC ya 32-bit, piştgirî ji bo KASan (Paqijkera navnîşana Kernelê) amûra verastkirinê hatiye zêdekirin, ku di dema xebitandina bîranînê de alîkariya tespîtkirina xeletiyan dike;
    • Li ser pergalên x86-64, sînorkirina danîna hêlînên dewletê di dema qezaya kernelê de (qeza-dump) li deverên bîranînê yên li jor 896MB hate rakirin;
    • Ji bo mîmariya s390, piştgirî ji bo rasthatina cîhê navnîşana kernelê (KASLR) û şiyana verastkirina îmzeyên dîjîtal dema barkirina kernel bi rêya kexec_file_load() ve têne bicîh kirin;
    • Ji bo mîmariya PA-RISC, ji bo debugera kernelê (KGDB), nîşaneyên jump û kprobeyan piştgirî lê zêde kirin;
  • Amûr
    • Driver tê de lima ji bo Mali 400/450 GPU, ku di gelek çîpên kevn de li ser bingeha mîmariya ARM-ê tê bikar anîn. Ji bo GPU-yên Malî yên nû, ajokera Panfrost hate zêdekirin, ku çîpên li ser bingeha mîkroarchitecturên Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) û Bifrost (Mali G3x, G5x, G7x) piştgirî dike;
    • Piştgiriya ji bo amûrên bihîstwerî yên ku firmware vekirî bikar tînin zêde kir Sermalava Vekirî ya Deng (SOF). Tevî hebûna ajokarên vekirî, koda firmware ya ji bo çîpên deng hîn jî girtî ma û di forma binary de hate peyda kirin. Projeya Sound Open Firmware ji hêla Intel ve hate pêşve xistin da ku ji bo çîpên DSP-ê yên ku bi pêvajoyek deng ve girêdayî ne firmware vekirî biafirîne (Google paşê jî beşdarî pêşkeftinê bû). Heya nuha, proje jixwe vedîtina firmware ji bo çîpên deng ên platformên Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake û IceLake amade kiriye;
    • Ajokarê Intel DRM (i915) piştgirî ji bo chips zêde dike
      Elkhartlake (Gen11). Nasnameyên PCI-yê ji bo çîpên Comet Lake (Gen9) zêde kirin. Piştgiriya ji bo çîpên Icelake stabîl bûye, ji bo vê yekê jî nasnavên cîhaza PCI-ya din jî hatine zêdekirin.
      Switched on
      moda guheztina asînkron di navbera du tamponên di bîranîna vîdyoyê de (async flip) dema ku bi mmio ve operasyonên nivîsandinê pêk tîne, ku performansa hin sepanên 3D bi girîngî zêde kir (mînak, performansa di ceribandina 3DMark Ice Storm% 300-400 zêde bû). Piştgiriya teknolojiyê zêde kir HDCP2.2 (Parastina naveroka dîjîtal a firehiya bilind) ji bo şîfrekirina sînyalên vîdyoyê yên ku bi HDMI ve têne şandin;

    • Ajokera amdgpu ji bo Vega20 GPU zêde kirin Piştgiriya RAS (Pêbawerî, Hebûn, Karûbar) û piştgiriya ezmûnî ji bo binepergala SMU 11, ku şûna teknolojiya Powerplay-ê girt. Ji bo GPU Vega12 zêde kirin piştgirî ji bo moda BACO (Bus Active, Chip Off). Piştgiriya destpêkê ji bo XGMI, otobusek bilez (PCIe 4.0) ji bo pêwendiya GPU zêde kir. Nasnameyên winda yên ji bo qertên ku li ser bingeha Polaris10 GPU li ajokera amdkfd hatine zêdekirin;
    • Ajokarê Nouveau ji bo panelên li ser bingeha chipset NVIDIA Turing 117 (TU117, di GeForce GTX 1650 de tê bikar anîn) piştgirî zêde kiriye. LI
      kconfig zêde kirin mîhengkirina neçalakkirina fonksiyonên kevinbûyî yên ku êdî di weşanên heyî yên libdrm de nayên bikar anîn;

    • Piştgiriya ji bo tiştên hevdemkirinê yên "demjimêr" li DRM API û ajokera amdgpu hatiye zêdekirin, ku dihêle hûn bêyî astengkirina klasîk bikin.
    • Ajokarê vboxvideo-yê ji bo GPU-ya virtual ya VirtualBox ji şaxê stêrkkirinê ber bi avahiya bingehîn ve hate veguheztin;
    • Ji bo çîpê GFX SoC ASPEED ajokara aspeed zêde kir;
    • Piştgiriya ARM SoC û Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, ,Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Pirteqala Pi) zêde kir ) panelên RK3399, Nanopi NEO4, Veyron-Mighty Chromebook), Amlogic: SEI Robotics SEI510,
      ST Micro (stm32mp157a, stm32mp157c), NXP (
      Eckelmann ci4x10 (i.MX6DL),

      i.MX8MM EVK (i.MX8MM),

      ZII i.MX7 RPU2 (i.MX7),

      ZII SPB4 (VF610),

      Zii Ultra (i.MX8M),

      TQ TQMa7S (i.MX7Solo),

      TQ TQMa7D (i.MX7Dual),

      Kobo Aura (i.MX50),

      Menlosystems M53 (i.MX53)), NVIDIA Jetson Nano (Tegra T210).

Di heman demê de, Weqfa Nermalava Azad a Amerîkaya Latîn ava kirin
dibe kernel bi tevahî belaş 5.2 - Linux-libre 5.2-gnu, ji hêmanên firmware û ajokerê yên ku hêmanên ne-azad an beşên kodê hene, ku çarçoweya wan ji hêla çêker ve sînorkirî ye, paqij kirin. Daxuyaniya nû barkirina pelê vedihewîne
Sound Open Firmware. Barkirina bloyan di ajokaran de neçalak e
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp û ucsi_ccg. Koda paqijkirina blobê di ajokarên ixp4xx, imx-sdma, amdgpu, nouveau û goya û jêrpergalan de, û her weha di belgeya mîkrokodê ​​de, hate nûve kirin. Paqijkirina blokên di ajokera r8822be de ji ber rakirina wê rawestiya.

Source: opennet.ru

Add a comment