Serbestberdana kernel Linux 5.14

Piştî du mehan pêşveçûnê, Linus Torvalds serbestberdana kernel Linux 5.14 pêşkêş kir. Di nav guheztinên herî berbiçav de: bangên pergalê yên nû quotactl_fd () û memfd_secret (), rakirina ajokarên îde û xav, kontrolkera pêşîn a I/O ya nû ji bo cgroup, moda nexşandina peywirê SCHED_CORE, binesaziya çêkirina barkerên bernameya BPF-ya verastkirî.

Guhertoya nû 15883 rastkirinên ji 2002 pêşdebiran vedihewîne, mezinahiya patchê 69 MB e (guhertin bandor li 12580 pelan kir, 861501 rêzikên kodê hatin zêdekirin, 321654 rêz hatin jêbirin). Nêzîkî 47% ji hemî guhertinên ku di 5.14-ê 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îmariya hardware ve girêdayî ne, 13% bi stûna torê ve girêdayî ne, 3% 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:

  • Disk Subsystem, I/O û Pergalên Pelê
    • Kontrolkerek pêşîn a I/O ya nû ji bo cgroupan, rq-qos, hatiye bicîh kirin, ku dikare pêşaniya pêvajoyê ya daxwazên astengkirina cîhazên ku ji hêla endamên her cgroup ve têne hilberandin kontrol bike. Piştgiriya kontrolkera pêşîn a nû li nexşerêya I/O ya mq-dawiyê hate zêdekirin.
    • Pergala pelan a ext4 fermanek ioctl ya nû pêk tîne, EXT4_IOC_CHECKPOINT, ku mecbûr dike ku hemî danûstendinên li benda kovarê û tamponên wan ên têkildar li ser dîskê werin rijandin, û her weha devera ku kovar di hilanînê de bikar tîne ji ser dinivîse. Guhertin di çarçoveya însiyatîfekê de hat amadekirin da ku pêşî li derketina agahiyê ji pergalên pelan bigire.
    • Optimîzasyonên performansê ji Btrfs re hatine çêkirin: bi rakirina qeydkirina nehewce ya taybetmendiyên dirêjkirî di dema darvekirina fsync de, performansa operasyonên zexm ên bi taybetmendiyên dirêjkirî heya 17% zêde bûye. Digel vê yekê, dema ku operasyonên birêkûpêk ên ku bandorê li dereceyan nakin dikin, hevdengkirina tevahî neçalak dibe, ku dema xebitandinê% 12 kêm dike. Mîhengek li sysfs-ê hate zêdekirin da ku dema ku FS-ê kontrol dike firehiya I/O bisînor bike. Bangên ioctl zêde kirin da ku betalkirina mezinahî û jêbirina karûbarên cîhazê.
    • Di XFS de, pêkanîna cache tampon ji nû ve hatî sêwirandin, ku ji bo veqetandina rûpelên bîranînê di moda hevîrê de hatî veguheztin. Berbiçavkirina cache çêtir kirin.
    • F2FS vebijarkek zêde dike ku di moda tenê-xwendinê de bixebite û moda cache ya blokê ya pêçandî (compress_cache) bicîh tîne da ku performansa xwendina rasthatî baştir bike. Piştgirî ji bo berhevkirina pelên ku li ser bîranînê hatine nexşe kirin bi karanîna operasyona mmap () ve hatî bicîh kirin. Ji bo neçalakkirina bijartî berhevkirina pelê ya li ser bingeha maskek, vebijarkek nû ya mount nocompress hate pêşniyar kirin.
    • Di ajokera exFAT de xebat hate kirin da ku hevahengiyê bi hin hilanîna kamera dîjîtal re baştir bike.
    • Banga pergalê quotactl_fd() lê zêde kir, ku destûrê dide te ku hûn kotayan ne bi pelek amûrek taybetî, lê bi destnîşankirina ravekerek pelê ya ku bi pergala pelê ya ku jê kota tê sepandin ve girêdayî ye, îdare bikin.
    • Ajokarên kevn ên cîhazên blokê yên bi navbeynkariya IDE-yê ji kernelê hatine rakirin; ew demek dirêj ji hêla binepergala libata ve hatine guheztin.
    • Ajokara "raw" ji kernelê hat rakirin, bi navbeynkariya /dev/raw gihandina nebuffer ji bo astengkirina cîhazên peyda dike. Vê fonksiyonê demek dirêj di serîlêdanên ku ala O_DIRECT bikar tînin de hatî bicîh kirin.
  • Xizmetên bîr û pergalê
    • Plansazkera peywirê moda plansazkirinê ya nû, SCHED_CORE, bicîh tîne, ku destûrê dide te ku hûn kontrol bikin ka kîjan pêvajo dikarin bi hev re li ser heman bingehê CPU-yê bêne darve kirin. Her pêvajoyek dikare nasnameyek cookie-yê ku qada pêbaweriyê di navbera pêvajoyan de diyar dike (mînak, aîdê heman bikarhêner an konteynerê) were destnîşankirin. Dema ku darvekirina kodê organîze dike, plansaz dikare piştrast bike ku yek bingehek CPU tenê di nav pêvajoyên bi heman xwedan ve girêdayî ye, ku dikare were bikar anîn da ku hin êrişên Specter asteng bike bi rêgirtina karên pêbawer û nebawer ên ku li ser heman mijara SMT (Hyper Threading). .
    • Ji bo cgroup, piştgirî ji bo operasyona kuştinê hatî bicîh kirin, ku destûrê dide te ku hûn hemî pêvajoyên ku bi komê re têkildar in yekcar bikujin (SIGKILL bişîne) bi nivîsandina "1" li pela virtual cgroup.kill.
    • 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. Astengkirinek wusa dibe sedema kêmbûnek girîng a performansê, ji ber vê yekê berê mimkun bû ku bi zorê serlêdana ku bû sedema astengkirinê bi dawî bibe. Daxuyaniya nû parametreyek rêza fermanê ya kernelê "split_lock_detect=ratelimit:N" zêde dike, ku dihêle hûn li ser rêjeya operasyonên girtina her saniyeyê sînorek li seranserê pergalê destnîşan bikin, piştî ku her pêvajoyek ku bûye çavkaniya kilîtkirina perçebûnê. dê neçar bimîne ku li şûna bidawîbûnê 20 ms raweste.
    • Kontrolkera berfê ya cgroup CFS (kontrolkerê bandê CFS), ku diyar dike ka çiqas wextê pêvajoyê dikare ji her cgroupê re were veqetandin, şiyana diyarkirina sînorên dem-sînorkirî bicîh tîne, ku rê dide rêwerzkirina çêtir a barkêşên xebata dereng-hesas. Mînakî, danîna cpu.cfs_quota_us bo 50000 û cpu.cfs_period_us bo 100000 dê rê bide komek pêvajoyên ku her 100ms 50ms dema CPU winda bikin.
    • Binesaziya destpêkê ya ji bo afirandina barkerên bernameya BPF zêde kir, ku dê rê bide barkirina tenê bernameyên BPF yên ku bi mifteyek dîjîtal pêbawer hatine îmzekirin.
    • Operasyonek futex a nû FUTEX_LOCK_PI2 lê zêde kir, ku demjimêrek monotonîk bikar tîne da ku wextek ku dema ku pergalê di moda xewê de derbas kiriye hesab bike.
    • Ji bo mîmariya RISC-V, piştgirî ji bo rûpelên bîranîna mezin (Rûpelên Mezin ên Transparent) û şiyana karanîna mekanîzmaya KFENCE ji bo tespîtkirina xeletiyan dema ku bi bîranînê re dixebitin têne bicîh kirin.
    • Banga pergalê madvise(), ku amûrek ji bo xweşbînkirina rêveberiya bîranînê ya pêvajoyekê peyda dike, alayên MADV_POPULATE_READ û MADV_POPULATE_WRITE zêde kiriye da ku li ser hemî rûpelên bîranînê yên ku ji bo xwendin û nivîsandinê hatine nexşe kirin, bêyî ku xwendinek an nivîsandinek rastîn pêk bînin, "xeletiya rûpelê" çêbike. (prefault). Bikaranîna alayan dikare ji bo kêmkirina dereng di cîbicîkirina bernameyê de bikêrhatî be, ji ber pêkanîna proaktîf ya hilgirê "xeletiya rûpelê" ji bo hemî rûpelên ne veqetandî bi yekcarî, bêyî ku li benda gihîştina rastîn a wan bimîne.
    • Pergala ceribandina yekîneya kunit ji bo ceribandinên li hawîrdora QEMU piştgirî zêde kiriye.
    • Şopgerên nû hatine zêdekirin: "osnoise" ji bo şopandina derengiyên serîlêdanê yên ku ji ber destwerdana navberê çêdibin, û "timerlat" ji bo ku agahdariya hûrgulî di derheqê derengbûnê de dema ku ji îşaretek demjimêr şiyar dibe nîşan bide.
  • Virtualization û Ewlekariya
    • Banga pergalê memfd_secret() hate zêdekirin da ku di cîhek navnîşek veqetandî de deverek bîranîna taybet biafirîne, ku tenê ji pêvajoya xwedaniyê re xuya bibe, ji pêvajoyên din re neyê xuyang kirin, û rasterast ji kernelê re negihîje.
    • Di pergala fîlterkirina bangê ya pergala seccomp de, dema ku rêgirên astengkirinê di nav cîhê bikarhêner de diherikin, gengaz e ku meriv operasyonek atomî bikar bîne da ku ji bo peywirek veqetandî ravekerek pelê biafirîne û dema ku bangek pergalê digire vegerîne. Operasyona pêşniyarkirî pirsgirêka qutkirina rêvekerek di cîhê bikarhêner de dema ku îşaretek tê çareser dike.
    • Mekanîzmayek nû ji bo birêvebirina sînorên çavkaniyê di nav qada navên nasnama bikarhêner de zêde kir, ku jimarvanên rlimit ferdî bi bikarhênerek di "qada navên bikarhêner" de girêdide. Gava ku yek bikarhêner pêvajoyên di konteynerên cihêreng de dimeşîne, guheztin bi karanîna jimareyên çavkaniyê yên hevpar re pirsgirêkê çareser dike.
    • Hîpervisorê KVM-ê ji bo pergalên ARM64 qabiliyeta karanîna dirêjkirina MTE (MemTag, Berfirehkirina Nîşankirina Bîrê) di pergalên mêvan de zêde kiriye, ku destûrê dide te ku hûn etîketan bi her operasyona veqetandina bîranînê ve girêdin û kontrolkirina karanîna rast a nîşankeran organîze bikin da ku îstîsmarê asteng bikin. qelsiyên ku ji ber gihîştina blokên bîranînê yên ku berê hatine azad kirin, tampon zêde dibe, gihîştina berî destpêkirinê û karanîna li derveyî çarçoweya heyî.
    • Tesîsên Nasnameya Pointerê ya platforma ARM64 naha dikarin ji bo kernel û cîhê bikarhêner ji hev cuda werin mîheng kirin. Teknolojî dihêle hûn rêwerzên taybetî yên ARM64 bikar bînin da ku navnîşanên vegerê bi karanîna îmzeyên dîjîtal ên ku di bitên jorîn ên nekarandî yên nîşanderê bixwe de têne hilanîn verast bikin.
    • Moda bikarhêner Linux piştgirî ji bo karanîna ajokarên ji bo cîhazên PCI-ya bi otobusek PCI-ya virtual, ku ji hêla ajokera PCI-ser-virtio ve hatî bicîh kirin, zêde kiriye.
    • Ji bo pergalên x86, piştgirî ji bo cîhaza paravirtualized virtio-iommu zêde kir, ku dihêle daxwazên IOMMU yên wekî ATTACH, DETACH, MAP û UNMAP li ser veguheztina virtio bêyî ku tabloyên rûpela bîranînê bişopînin werin şandin.
    • Ji bo CPU-yên Intel, ji malbata Skylake bigire heya Gola Kawa, karanîna Intel TSX (Pêvekirinên Hevdengkirina Transactional), ku amûran ji bo baştirkirina performansa sepanên pir-mijarî peyda dike bi rakirina dînamîkî ya operasyonên hevdemkirinê yên nehewce, ji hêla xwerû ve neçalak e. Berfirehkirin ji ber îhtîmala êrişên Zombieload-ê yên ku bi riya kanalên sêyemîn ên ku di dema xebitandina mekanîzmaya TAA (TSX Asynchronous Abort) de diqewime de vekêşana agahdariyê manîpule dikin, neçalak in.
  • Subsystem Network
    • Yekbûnek nav bingeha MPTCP (MultiPath TCP), dirêjkirina protokola TCP-ê ji bo organîzekirina xebata pêwendiyek TCP-ê digel 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. Daxuyaniya nû mekanîzmayek ji bo danîna polîtikayên haşkirina seyrûsefera xwe ya ji bo IPv4 û IPv6 zêde dike (polîtîkaya hash a pir rê), dihêle hûn ji cîhê bikarhêner diyar bikin ka kîjan zeviyên pakêtan, tevî yên dorpêçkirî, dê di dema hesabkirina hash ku diyar dike de werin bikar anîn. hilbijartina rê ji bo pakêtê.
    • Piştgiriya ji bo soketên SOCK_SEQPACKET (veguheztina datagramên fermankirî û pêbawer) li veguheztina virtual virtio hate zêdekirin.
    • Kapasîteyên mekanîzmaya soketê SO_REUSEPORT hatine berfireh kirin, ku dihêle çend soketên guhdarîkirinê bi carekê ve bi yek portê ve girêbidin da ku bi belavkirina daxwazên hatinê re hevdem li ser hemî soketên ku bi SO_REUSEPORT ve girêdayî ne, ku çêkirina serîlêdanên servera pir-tehlî hêsan dike, girêdan bistînin. . Guhertoya nû dema ku daxwazek ji hêla soketa destpêkê ve hatî hilbijartî veguhezîne amûran ji bo veguheztina kontrolê li soketek din zêde dike (gava ji nû ve destpêkirina karûbaran pirsgirêka windakirina girêdanên kesane çareser dike).
  • Amûr
    • Ajokarê amdgpu ji bo rêza GPU-ya nû ya AMD Radeon RX 6000, bi kodnavê "Beige Goby" (Navi 24) û "Karp zer" piştgirî peyda dike, û hem jî ji bo Aldebaran GPU (gfx90a) û Van Gogh APU-yê piştgirî çêtir dike. Kapasîteya ku bi hevdemî bi çend panelên eDP re bixebite zêde kir. Ji bo APU Renoir, piştgirî ji bo xebata bi tamponên şîfrekirî yên di bîranîna vîdyoyê de (TMZ, Zona Bîra pêbawer) hatîye bicîh kirin. Piştgiriya ji bo kartên grafikên germ-veqetandî zêde kir. Ji bo GPU-yên Radeon RX 6000 (Navi 2x) û GPU-yên kevntir ên AMD, piştgiriya ASPM (Rêveberiya Hêza Dewleta Çalak) ji hêla xwerû ve hatî çalak kirin, ku berê tenê ji bo GPU-yên Navi 1x, Vega û Polaris ve hatî çalak kirin.
    • Ji bo çîpên AMD, piştgirî ji bo bîranîna virtual ya hevpar (SVM, bîranîna virtual ya hevpar) li ser bingeha binepergala HMM (Rêveberiya bîranîna Heterogeneous) hatiye zêdekirin, ku destûrê dide karanîna cîhazên bi yekîneyên rêveberiya bîranîna xwe (MMU, yekîneya rêveberiya bîranînê). ku dikare bigihîje bîra sereke. Bi taybetî, bi karanîna HMM, hûn dikarin cîhek navnîşek hevpar a di navbera GPU û CPU de organîze bikin, ku tê de GPU dikare bigihîje bîranîna sereke ya pêvajoyê.
    • Piştgiriya destpêkê ji bo teknolojiya AMD Smart Shift zêde kir, ku bi dînamîk mîhengên hêza CPU û GPU li ser laptopan bi chipsetek AMD û qerta grafîkê diguhezîne da ku performansê ji bo lîstikê, guherandina vîdyoyê, û pêşkêşkirina 3D zêde bike.
    • Ajokera i915 ji bo kartên grafikên Intel piştgirî ji bo çîpên Intel Alderlake P digire.
    • Ji bo adapterê grafikên virtual yên Hyper-V ajokera drm/hyperv zêde kir.
    • Piştgiriya ji bo Raspberry Pi 400-a-yek-yek-komputerê zêde kir.
    • Ajokera nepenîtiyê ya dell-wmi-yê lê zêde kir ku piştgirî bide kameraya hardware û guhêrbarên mîkrofonê yên ku di laptopên Dell de hene.
    • Ji bo laptopên Lenovo, navgînek WMI ji bo guheztina mîhengên BIOS-ê bi navgîniya sysfs /sys/class/firmware-attributes/ hatiye zêdekirin.
    • Piştgiriya berfireh ji bo cîhazên bi navgîniya USB4.
    • Piştgiriya AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 û Texas Instruments TAS2505 û kodekên deng zêde kir. Piştgiriya dengî ya li ser laptopên HP û ASUS-ê çêtir kirin. Pêşkêşan lê zêde kirin da ku derengiyan kêm bikin berî ku deng li ser cîhazên USB-ê dest pê bike.

Source: opennet.ru

Add a comment