Linux 5.3 kernel saki

Bayan watanni biyu na ci gaba, Linus Torvalds gabatar sakin kwaya Linux 5.3. Daga cikin mafi mashahuri canje-canje: goyon baya ga AMD Navi GPUs, Zhaoxi na'urori masu sarrafawa da Intel Speed ​​​​Select Power Management Technology, ikon yin amfani da umarnin umwait don jira ba tare da amfani da hawan keke ba,
Yanayin 'amfani da amfani' wanda ke haɓaka hulɗa don CPUs asymmetric, kiran tsarin pidfd_open, ikon yin amfani da adiresoshin IPv4 daga 0.0.0.0/8 subnet, yuwuwar haɓaka kayan aikin nftables, tallafin HDR a cikin tsarin DRM, haɗin ACRN hypervisor.

В sanarwa sabon saki, Linus ya tunatar da duk masu haɓaka babban ka'idar ci gaban kwaya - kiyaye ɗabi'a iri ɗaya don abubuwan haɗin sararin mai amfani. Canje-canje ga kwaya bai kamata ta kowace hanya karya aikace-aikacen da ke gudana ba ko haifar da koma baya a matakin mai amfani. A wannan yanayin, cin zarafi na ɗabi'a na iya haifar da ba kawai canji a cikin ABI ba, kawar da lambar da ba ta daɗe ba, ko bayyanar kurakurai, amma har ma da tasirin gyare-gyare masu amfani da ke aiki daidai. A matsayin misali akwai jefar da da amfani ingantawa a cikin lambar Ext4, wanda ke rage adadin hanyoyin shiga ta hanyar kashe pre-karanta tebur inode don ƙananan buƙatun I/O.

Haɓakawa ya haifar da gaskiyar cewa, saboda raguwar ayyukan faifai, entropy don janareta na lambar bazuwar getrandom () ya fara tarawa da sannu a hankali kuma a wasu jeri, a ƙarƙashin wasu yanayi, ana iya lura da daskarewa yayin lodawa har sai tafkin entropy ya kasance. cika. Tun da ingantawa yana da matukar amfani, tattaunawa ta tashi a tsakanin masu haɓakawa wanda aka ba da shawarar gyara matsalar ta hanyar kashe yanayin toshe tsoho na kiran getrandom() da ƙara tutar zaɓi don jira entropy, amma irin wannan canjin zai shafi ingancin lambobin bazuwar a matakin farko na lodi.

Sabuwar sigar ta ƙunshi gyara 15794 daga masu haɓakawa 1974,
girman faci - 92 MB (canje-canjen sun shafi fayilolin 13986, an ƙara layukan lambar 258419,
599137 an cire layuka). Kusan 39% na duk an gabatar da su a cikin 5.3
canje-canje suna da alaƙa da direbobin na'ura, kusan kashi 12% na canje-canje suna
Halayen sabunta lambar musamman ga kayan gine-ginen kayan aiki, 11%
masu alaƙa da tarin hanyar sadarwa, 3% zuwa tsarin fayil da 3% zuwa ciki
kernel subsystems.

Main sababbin abubuwa:

  • Ƙwaƙwalwar ajiya da sabis na tsarin
    • Ci gaba da haɓaka ayyukan 'pidfd' don taimakawa magance yanayin sake amfani da PID (pidfd yana da alaƙa da takamaiman tsari kuma baya canzawa, yayin da PID na iya haɗawa da wani tsari bayan tsarin na yanzu mai alaƙa da wancan PID ɗin ya ƙare). A baya an ƙara shi zuwa kwaya
      kiran tsarin pidfd_send_signal() da tutar CLONE_PIDF a cikin clone() kira don samun pidfd don amfani a idfd_send_signal(). Yin amfani da clone() tare da tutar CLONE_PIDFD na iya haifar da matsala tare da manajojin sabis ko tsarin ƙarewar ƙarfin ƙwaƙwalwar ajiyar dandali na Android. A wannan yanayin, ana amfani da kira zuwa cokali mai yatsu () ko clone() ba tare da CLONE_PIDFD ba don farawa.

      Kernel 5.3 ya gabatar da kiran tsarin pidfd_bude(), wanda ke ba ku damar samun pidfd da za'a iya bincikawa don tsari na sabani wanda ba a ƙirƙira shi ta hanyar kiran clone() tare da tutar CLONE_PIDFD. Hakanan an ƙara goyan baya don jefa ƙuri'a na pidfd ta amfani da jefa ƙuri'a () da epoll(), wanda ke ba da damar masu sarrafa tsari don bin diddigin ƙarewar matakai ba tare da tsoron yanayin tsere ba idan an sanya PID zuwa sabon tsari. Hanyar sanarwa lokacin da tsarin da ke da alaƙa da pidfd ya ƙare yana kama da sanarwa lokacin da tsarin yaro ya ƙare;

    • An ƙara goyan baya don tsarin ɗaukar nauyi a cikin mai tsara ɗawainiya (Ƙunƙarar amfani), ba ka damar yin riko da mafi ƙarancin ko matsakaicin jeri, dangane da ayyukan da ke kan CPU. Tsarin da aka gabatar yana hanzarta ayyukan da ke shafar ingancin ƙwarewar mai amfani da kai tsaye ta hanyar gudanar da waɗannan ayyuka aƙalla a ƙananan ƙarshen mitar "buƙata". Ana ƙaddamar da ƙananan ayyuka masu mahimmanci waɗanda ba su shafar aikin mai amfani ta amfani da iyakar babba na mitar “an yarda”. An saita iyakoki ta hanyar sched_uclamp_util_min da sched_uclamp_util_max halayen a cikin tsarin tsarin sched_setattr().
    • Ƙara tallafi don fasahar sarrafa makamashi Intel Speed ​​Select, akwai akan zaɓin sabobin tare da na'urori masu sarrafa Intel Xeon. Wannan fasaha yana ba ku damar saita saitunan kayan aiki da ɓangarori don nau'ikan nau'ikan CPU daban-daban, wanda ke ba ku damar ba da fifikon aiki don ayyukan da aka yi akan wasu nau'ikan, sadaukar da aiki akan wasu nau'ikan;
    • Tsari a cikin sarari mai amfani bayar da ikon jira na ɗan gajeren lokaci ba tare da amfani da madaukai ta amfani da umarnin umwait ba. Wannan umarni, tare da umarnin umonitor da tpause, za a ba da su a cikin kwakwalwan kwamfuta na "Tremont" na Intel mai zuwa, kuma zai ba da damar aiwatar da jinkirin da ke da ƙarfin makamashi kuma ba zai tasiri aikin sauran zaren ba yayin amfani da Hyper Threading;
    • Don gine-ginen RISC-V, an ƙara goyon baya ga manyan shafukan ƙwaƙwalwar ajiya;
    • Na'urar gano kprobes ta ƙara ikon kawar da ma'anar kwaya zuwa sararin mai amfani, wanda za'a iya amfani dashi, alal misali, don kimanta abubuwan da ke cikin tsarin da aka wuce zuwa kiran tsarin. Hakanan an ƙara ikon shigar da cak a matakin taya.
    • Ƙara zaɓin PREEMPT_RT zuwa fayil ɗin daidaitawa don aiki na lokaci-lokaci. Lambar da kanta don tallafawa yanayin ainihin lokacin ba a ƙara shi zuwa kernel ba, amma bayyanar zaɓin alama ce mai kyau cewa almara na dogon lokaci. hadewa Faci na ainihi-Preempt yana gab da kammalawa;
    • Ƙara tsarin tsarin clone3 () tare da aiwatar da mafi girman sigar ƙirar clone (), wanda ke ba da damar ƙayyade adadin tutoci masu girma;
    • Ƙara bpf_send_signal() mai kulawa, barin shirye-shiryen BPF don aika sigina zuwa matakai na sabani;
    • Don abubuwan da suka faru na perf a cikin yanayin KVM hypervisor, an ƙara sabon tsarin tace abubuwan da suka faru, ƙyale mai gudanarwa ya ƙayyade nau'ikan abubuwan da aka yarda ko ba a yarda da su don saka idanu akan tsarin tsarin baƙi;
    • An ƙara ikon aiwatar da shirye-shirye tare da madaukai zuwa tsarin tabbatar da aikace-aikacen eBPF idan aiwatar da madauki yana iyakance kuma ba zai iya haifar da wuce iyaka akan iyakar adadin umarni ba;
  • Tsarin Disk, I/O da Tsarin Fayil
    • Tsarin fayil ɗin XFS yanzu yana goyan bayan wucewar inode mai zaren Multi-threaded (misali, lokacin duba ƙididdiga). An ƙara sabon ioctls BULKSTAT da INUMBERS, suna ba da damar yin amfani da abubuwan da suka bayyana a cikin bugu na biyar na tsarin FS, kamar lokacin haihuwa na inode da ikon saita sigogi na BULKSTAT da INUMBERS ga kowane rukunin AG (Ƙungiyoyin Ƙungiyoyin Ƙungiyoyi);
    • A cikin Ext4 goyon baya kara voids a cikin kundin adireshi (tubalan da ba a haɗa su ba).
      An bayar da sarrafawa Tuta "i" (mai canzawa) don buɗe fayilolin (an hana rubutawa a cikin yanayi idan an saita tutar a lokacin da fayil ɗin ya riga ya buɗe);

    • Btrfs yana ba da ma'anar aiwatar da sauri na crc32c akan duk gine-gine;
    • A cikin CIFS, an cire lambar don tallafin smbdirect azaman haɓakar gwaji. SMB3 ya kara da ikon yin amfani da algorithms na sirri a cikin yanayin GCM. An ƙara sabon zaɓin dutse don cire sigogin yanayi daga shigarwar ACE (Shigar da Shigar Sarrafa). An inganta aikin buɗaɗɗen kiran ();
    • Ƙara wani zaɓi zuwa F2FS don iyakance mai tara shara lokacin da yake gudana a wurin bincike= Yanayin musaki. Ƙara ioctl don cire kewayon toshe daga F2FS, yana ba da izinin daidaita girman juzu'in kan-da- tashi. Ƙara ikon sanya fayil ɗin musanyawa a cikin F2FS don samar da I/O kai tsaye. Ƙara goyon baya don haɗa fayil da rarraba tubalan don fayiloli iri ɗaya don duk masu amfani;
    • Ƙara goyon baya don ayyukan asynchronous sendmsg() da recvmsg() zuwa mahaɗin don shigarwa/fitarwa asynchronous io_uring;
    • Taimako don matsawa ta amfani da zstd algorithm da ikon tabbatar da hotunan FS da aka sanya hannu an ƙara su zuwa tsarin fayil na UBIFS;
    • Ceph FS yanzu yana goyan bayan alamun tsaro na SELinux don fayiloli;
    • Don NFSv4, an aiwatar da sabon zaɓin dutsen "nconnect =", wanda ke ƙayyade adadin haɗin da aka kafa tare da sabar. Za a rarraba zirga-zirga tsakanin waɗannan haɗin gwiwar ta amfani da daidaita nauyi. Bugu da ƙari, uwar garken NFSv4 yanzu ya haifar da shugabanci / proc / fs / nfsd / abokan ciniki tare da bayani game da abokan ciniki na yanzu, ciki har da bayanai game da fayilolin da suka bude;
  • Hankali da Tsaro
    • Kwaya ta ƙunshi hypervisor don na'urorin da aka haɗa Farashin ACRN, wanda aka rubuta tare da ido don shirye-shiryen ayyuka na lokaci-lokaci da dacewa don amfani a cikin tsarin manufa-mafi mahimmanci. ACRN yana ba da mafi ƙarancin ƙima, yana ba da garantin ƙarancin jinkiri da isasshiyar amsa yayin hulɗa da kayan aiki. Yana goyan bayan haɓaka albarkatun CPU, I/O, tsarin cibiyar sadarwa, zane-zane da ayyukan sauti. Ana iya amfani da ACRN don gudanar da injunan keɓancewa da yawa a cikin sassan sarrafa lantarki, dashboards, tsarin bayanan mota, na'urorin IoT na mabukaci da sauran fasahar da aka haɗa;
    • A cikin yanayin mai amfani Linux ya kara da cewa Yanayin tafiye-tafiye lokaci, wanda ke ba ku damar ragewa ko haɓaka lokaci a cikin mahallin UML na kama-da-wane don sauƙaƙa yin zagon lambar da ke da alaƙa da lokaci. Bugu da ƙari, an ƙara siga
      lokacin tafiya-farawa, wanda ke ba da damar agogon tsarin farawa daga ƙayyadadden lokacin a cikin tsarin zamanin;

    • Sabbin zaɓuɓɓukan layin umarni na kernel "init_on_alloc" da "init_on_free" an ƙara, lokacin da aka ƙayyade, an kunna sifili na wuraren da aka keɓe da kuma 'yantar da ƙwaƙwalwar ajiya (cika da sifili don malloc da kyauta), wanda ke ba da damar ƙarin tsaro saboda ƙarin farawa sama;
    • An ƙara sabon direba virtio-iommu tare da aiwatar da na'urar da ba ta dace ba wacce ke ba ku damar aika buƙatun IOMMU kamar su ATTACH, DETACH, MAP da UNMAP akan jigilar fayafai ba tare da yin koyi da teburan shafi na ƙwaƙwalwar ajiya ba;
    • An ƙara sabon direba virtio-pmem, wakiltar damar yin amfani da na'urorin ajiya da aka tsara zuwa sararin adireshin jiki, kamar NVDIMMs;
    • Aiwatar da ikon haɗa maɓallan rubutun ga mai amfani ko sarari sunan cibiyar sadarwa (maɓallai sun zama ba a iya samun su a waje da wurin da aka zaɓa), da kuma kare maɓallan ta amfani da ACLs;
    • Zuwa tsarin tsarin crypto kara da cewa goyan baya don saurin hashing algorithm mara-cryptographic xxash, gudun wanda ya dogara da aikin ƙwaƙwalwar ajiya;
  • Tsarin hanyar sadarwa
    • An kunna sarrafa adiresoshin IPv4 a cikin kewayon 0.0.0.0/8, wanda baya samuwa don amfani. Gabatarwar wannan subnet zai bada izini rarraba wasu adiresoshin IPv16 miliyan 4;
    • A cikin Netfilter don nftables kara da cewa goyan bayan hanyoyin haɓaka kayan masarufi don tace fakiti ta hanyar amfani da ƙarin direbobi API ɗin Flow Block. Ana iya sanya gabaɗayan tebur na dokoki tare da duk sarƙoƙi a gefen adaftar cibiyar sadarwa. Ana yin kunnawa ta hanyar ɗaure tutar NFT_TABLE_F_HW akan tebur. Yana goyan bayan matakan metadata mai sauƙi na Layer 3 da Layer 4, karɓa / ƙi ayyuka, taswirar taswirar IP da tashar tashar tashar mai aikawa / mai karɓa da nau'in yarjejeniya;
    • Kara goyon bayan bin hanyar haɗin haɗin kai don gadoji na cibiyar sadarwa, wanda baya buƙatar amfani da br_netfilter emulating Layer;
    • A cikin nf_tables kara da cewa goyon baya ga tsarin SYNPROXY, wanda ke maimaita irin wannan aiki daga iptables, kuma ana aiwatar da ikon duba dokoki don zaɓin mutum ɗaya a cikin taken IPv4;
    • Ƙara ikon haɗa shirye-shiryen BPF zuwa tsarin setsockopt() da kuma getsockopt() kiran tsarin, wanda, alal misali, yana ba ku damar haɗa masu amfani da ku zuwa waɗannan kiran. Bugu da ƙari, an ƙara sabon wurin kira (ƙugiya), wanda za ku iya tsara kira zuwa shirin BPF sau ɗaya don kowane tazara na RTT (lokacin tafiya-zagaye, lokacin ping);
    • Domin IPv4 da IPv6 ya kara da cewa sabon na'ura mai sarrafa bayanai na gaba na gaba wanda ke da nufin haɓaka scalability na tebur masu tuƙi. Gwaje-gwaje sun nuna cewa lokacin amfani da sabon tsarin, an ɗora tarin hanyoyin 743 zuwa cikin kwaya cikin daƙiƙa 4.3 kawai;
    • Don Bluetooth aiwatar aikin da ake buƙata don tallafawa LE ping;
  • Kayan aiki
    • Kara goyan bayan na'urori masu jituwa na kamfanin x86 Zhaoxin, wanda aka haɓaka sakamakon aikin haɗin gwiwa tsakanin VIA Technologies da gundumar Shanghai. An gina dangin ZX CPU akan gine-ginen Ishaya na x86-64, yana ci gaba da haɓaka fasaha VIA Centaur;
    • Tsarin DRM (Direct Rendering Manager) subsystem, da amdgpu da direbobi masu hoto i915, sun ƙara tallafi don rarrabawa, sarrafawa da aikawa da metadata HDR (high dynamic range) ta hanyar tashar tashar HDMI, yana ba da damar yin amfani da bangarori na HDR da fuska masu iyawa. nuna ƙarin kewayon haske;
    • Direban amdgpu ya ƙara tallafin farko don AMD NAVI GPU (RX5700), wanda ya haɗa da direban tushe, lambar hulɗar allo (DCN2), GFX da tallafin ƙididdigewa (GFX10),
      SDMA 5 (Tsarin DMA0), Gudanar da wutar lantarki da masu rikodin multimedia / dikodi (VCN2). amdgpu yana haɓaka tallafi don katunan dangane da Vega12 da Vega20 GPUs, waɗanda aka ƙara ƙarin ƙwaƙwalwar ajiya da ikon sarrafa iko;

    • Ƙara tallafi don katunan dangane da VegaM GPUs zuwa direban amdkfd (don GPUs masu hankali, kamar Fiji, Tonga, Polaris);
    • A cikin direban DRM don katunan bidiyo na Intel don kwakwalwan kwamfuta na Icelake aiwatar sabon yanayin gyaran gamma mai yawan sassa. Ƙara ikon fitarwa ta hanyar DisplayPort a cikin tsarin YCbCr4: 2: 0. An ƙara sabon firmware GuC don SKL, BXT, KBL, GLK da ICL. An aiwatar da ikon kashe wutar allo a yanayin asynchronous. Kara goyan baya don adanawa da maido da mahallin ma'ana don Ironlake (gen5) da gen4 (Broadwater - Cantiga), kwakwalwan kwamfuta, wanda ke ba ku damar dawo da yanayin GPU daga sararin mai amfani lokacin motsi daga aiki ɗaya zuwa wani;
    • Direban Nouveau yana ba da ganowa na NVIDIA Turing TU116 chipset;
    • An faɗaɗa ƙarfin direban DRM/KMS don masu haɓaka allo na ARM Komeda (Mali D71), tallafi don sikeli, tsagawa / haɗa yadudduka, juyawa, rubutun da aka jinkirta, AFBC, SMMU da tsarin ɓoye launi Y0L2, P010, YUV420_8/10BIT yana da an kara;
    • Direban MSM yana ƙara goyan baya ga jerin A540 GPU Adreno da aka yi amfani da su a cikin na'urori na Qualcomm, da kuma tallafi ga mai sarrafa MSM8998 DSI don Snapdragon 835;
    • Direbobin da aka ƙara don bangarorin LCD Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,
      Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 da VXT VL050-8048NT-C01;

    • Kara direba don kunna ƙaddamar da kayan aikin hanzari
      akwai bidiyoyi a cikin Amlogic Meson SoC;

    • A cikin direban v3d (na Broadcom Video Core V GPU da aka yi amfani da shi a cikin Rasberi Pi) ya bayyana goyon baya aika shaders na lissafi;
    • Kara direba don maɓallan SPI da waƙa da aka yi amfani da su a cikin samfuran zamani na Apple MacBook da kwamfyutocin MacBookPro;
    • Kara ƙarin kariya don kiran ioctl da ke da alaƙa da direban floppy, kuma direban da kansa an yi masa alama a matsayin wanda ba a kula da shi ba.
      (" marayu"), wanda ke nuna ƙarshen gwajinsa. Har yanzu ana adana direban a cikin kwaya, amma ba a tabbatar da aikin sa daidai ba. Ana ganin direban ya tsufa, tun da yake yana da wuya a sami kayan aiki don gwada shi - duk abubuwan da ke waje na yanzu, a matsayin mai mulkin, yi amfani da kebul na USB.

    • Kara direban cpufreq don allon Rasberi Pi, wanda ke ba ku damar sarrafa canje-canje a cikin mitar mai sarrafawa;
    • Supportara tallafi don sabon ARM SoC Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) da Amlogic G12B (4x Cortex-A73 + 2x Cortex- A53), da kuma alluna:
      • Purism Librem5,
      • Aspeed BMC,
      • Microsoft Olympus BMC,
      • Kontron SMRC,
      • Novtech Meerkat96 (i.MX7),
      • ST Micro Avenger96,
      • Google Cheza (Qualcomm SDM845),
      • Qualcomm Dragonboard 845c (Qualcomm SDM845),
      • Akwatin TV Hugsun X99 (Rockchip RK3399),
      • Khadas Edge/Edge-V/Kyaftin (Rockchip RK3399),
      • HiHope RZ/G2M,
      • Saukewa: NXP LS1021A-TSN.

A lokaci guda kuma, Cibiyar Software na Kyauta ta Latin Amurka kafa
zaɓi Kwayar cuta gaba daya kyauta 5.3 - Linux-libre 5.3-gnu, An share daga firmware da abubuwan direba masu ƙunshe da abubuwan da ba su da kyauta ko sassan lambobi, iyakar abin da masana'anta ke iyakancewa. A cikin sabon sakin, ba a kashe ɗorawa ba a cikin qcom, hdcp drm, allegro-dvt da direbobin meson-vdec.
An sabunta lambar tsaftacewa na blob a cikin direbobi da tsarin amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, direban sauti don skylake, da kuma a cikin takaddun microcode.

source: budenet.ru

Add a comment