Linux 5.3 tuku kernel

I muri i nga marama e rua o te whanaketanga, ko Linus Torvalds whakaurua tuku kernel Linux 5.3. I roto i nga huringa tino rongonui: tautoko mo AMD Navi GPUs, Zhaoxi tukatuka me te Intel Speed ​​​​Select te hangarau whakahaere mana, te kaha ki te whakamahi i nga tohutohu umwait ki te tatari me te kore e whakamahi i nga huringa,
aratau 'whakamahinga awhi' e whakanui ana i te taunekeneke mo nga PTM hangarite, te waea pidfd_open system, te kaha ki te whakamahi i nga wahitau IPv4 mai i te 0.0.0.0/8 subnet, te taea o te whakaterenga taputapu nftables, te tautoko HDR i roto i te punaha DRM, te whakauru o te ACRN kaitirotiro.

В panui Ko te tukunga hou, i whakamaumahara a Linus ki nga kaiwhakawhanake katoa mo te ture matua o te whanaketanga kernel - kia rite tonu te whanonga mo nga waahanga mokowhiti-kaiwhakamahi. Ko nga huringa ki te kernel kia kaua e pakaru i nga tono e whakahaere ana, e arahi ranei ki nga whakahekenga i te taumata kaiwhakamahi. I tenei keehi, ko te takahi i te whanonga kaore i te whakarereke noa i te ABI, te tango i te waehere tawhito, te ahua o nga hapa, engari ko te paanga autaki o nga whakapainga whai hua e mahi tika ana. Hei tauira tauira i reira ka makahia whaihua arotautanga i roto i te waehere Ext4, e whakaiti ana i te maha o nga urunga puku ma te whakakore i te panui o mua i te ripanga inode mo nga tono I/O iti.

Na te arotautanga, na te hekenga o te mahi kōpae, ka timata te entropy mo te getrandom() whakahiato tau matapōkere ki te puhoi haere, a i etahi whirihoranga, i raro i etahi ahuatanga, ka kitea nga tio i te wa e utaina ana tae noa ki te wa o te puna entropy. whakakiia. I te mea he tino whai hua te arotautanga, i ara ake he korerorero i waenga i nga kaiwhakawhanake i whakaaro ai ki te whakatika i te raru ma te whakakore i te aratau aukati taunoa o te waea getrandom() me te taapiri i tetahi haki hei tatari mo te entropy, engari ka pa tenei huringa ki te te kounga o nga tau matapōkere i te wahanga tuatahi o te uta.

Kei roto i te putanga hou 15794 whakatika mai i nga kaiwhakawhanake 1974,
te rahi o te papaki - 92 MB (nga huringa i pa 13986 konae, 258419 rarangi waehere i taapirihia,
599137 nga rarangi i tangohia). Tata ki te 39% o te katoa i whakaatuhia i te 5.3
Ko nga huringa e pa ana ki nga taraiwa taputapu, tata ki te 12% o nga huringa
te whakaaro ki te whakahou i te waehere motuhake mo nga hanganga taputapu, 11%
e pa ana ki te puranga whatunga, 3% ki nga punaha konae me te 3% ki roto
nga punaha iti kernel.

Main nga mahi auaha:

  • Mahara me nga ratonga punaha
    • Te whakawhanake tonutanga o te mahi 'pidfd' hei awhina i te hapai i nga ahuatanga whakamahi ano i te PID (e hono ana te pidfd ki tetahi tukanga motuhake, kaore e rereke, ka taea te hono tetahi PID ki tetahi atu tukanga i muri i te mutunga o te tukanga o naianei e hono ana ki taua PID). I taapirihia i mua ki te pata
      te waea pidfd_send_signal() me te haki CLONE_PIDFD i roto i te clone() waea ki te tiki pidfd hei whakamahi i idfd_send_signal(). Ma te whakamahi i te clone() me te haki CLONE_PIDFD ka raru pea ki nga kaiwhakahaere ratonga, ki te punaha whakamutu-a-waho ranei o te papamahi Android. I tenei take, ka whakamahia te waea ki te marau() ki te kati() kaore he CLONE_PIDFD ka whakamahia hei tiimata.

      Kernel 5.3 i whakauru i te waea punaha pidfd_tuwhera(), e taea ai e koe te tiki pidfd ka taea te tirotiro mo tetahi tukanga o mua kaore i hangaia ma te waea ki te clone() me te haki CLONE_PIDFD. I taapirihia he tautoko mo te pooti pidfd ma te whakamahi i te poll() me te epoll(), ka taea e nga kaiwhakahaere o te tukanga te whai i te whakamutua o nga tikanga tuku noa me te kore e mataku ki tetahi ahuatanga iwi mena ka tautapahia he PID ki tetahi mahi hou. Ko te tikanga mo te whakamohio kua mutu tetahi tukanga e pa ana ki te pidfd he rite tonu ki te whakamohio kua mutu tana tukanga tamaiti;

    • Kua taapirihia te tautoko mo te taputapu titi uta ki te kaiwhakarite mahi (Whakamahinga awhi), ka taea e koe te piri ki nga awhe auau iti rawa atu ranei, i runga i nga mahi e kaha ana ki te PTM. Ko te tikanga e whakaatuhia ana ka tere ake nga mahi e pa ana ki te kounga o te wheako kaiwhakamahi ma te whakahaere i enei mahi i te iti rawa i te pito o raro o te auau "tono". Ka whakarewahia nga mahi matua iti kaore e pa ki nga mahi a te kaiwhakamahi ma te whakamahi i te tepe o runga o te auau “whakaaetia”. Ka whakatauhia nga rohe ma te sched_uclamp_util_min me nga huanga sched_uclamp_util_max i roto i te waea punaha sched_setattr().
    • He tautoko taapiri mo te hangarau whakahaere hiko Tīpakohia Tere Intel, e waatea ana i runga i nga kaitoro kua tohua me nga tukatuka Intel Xeon. Ma tenei hangarau ka taea e koe te whakarite i nga waahanga mahi me te wehewehe i nga waahanga mo nga momo CPU rereke, e taea ai e koe te whakarite i nga mahi mo nga mahi e mahia ana i runga i etahi waahanga, me te patu i nga mahi ki etahi atu waahanga;
    • Nga tukanga i te waahi kaiwhakamahi whakaratohia te kaha ki te tatari mo te wa poto me te kore e whakamahi i nga koropiko ma te whakamahi i te ako umwait. Ko tenei tohutohu, me nga tohutohu umonitor me te tpause, ka tukuna i roto i nga maramara "Tremont" a Intel e haere ake nei, a ka whakaaetia mo te whakatinanatanga o nga whakaroa e kaha ana te kaha me te kore e pa ki te mahi o etahi atu miro i te wa e whakamahi ana i te Hyper Threading;
    • Mo te hoahoanga RISC-V, kua taapirihia te tautoko mo nga wharangi mahara nui;
    • Kua taapirihia e te tikanga whaiwhai kprobes te kaha ki te whakakore i nga tohu kakano ki te waahi kaiwhakamahi, ka taea te whakamahi, hei tauira, ki te arotake i nga ihirangi o nga hanganga kua tukuna ki nga waea waea. Ko te kaha ki te whakauru i nga arowhai i te waahi whawhai kua taapirihia ano.
    • Kua taapirihia te kowhiringa PREEMPT_RT ki te konae whirihoranga mo te mahi-a-waa. Ko te waehere ake hei tautoko i te aratau-a-waa kaore ano kia taapirihia ki te kernel, engari ko te ahua o te whiringa he tohu pai ko te epic mo te wa roa. whakauru Kei te tata te otinga o nga waahi-Whakamuahia;
    • Kua taapirihia te waea punaha clone3() me te whakatinanatanga o te putanga whakawhanui ake o te atanga clone(), e taea ai te tohu i te maha o nga haki;
    • Kua taapirihia te kaihautu bpf_send_signal(), e tuku ana i nga kaupapa BPF ki te tuku tohu ki nga mahi noa;
    • Mo nga huihuinga perf i roto i te taiao KVM hypervisor, kua taapirihia he tikanga tātari takahanga hou, ka taea e te kaiwhakahaere te whakatau i nga momo huihuinga e whakaaetia ana, kaore ranei e whakaaetia mo te tirotiro i te taha o te punaha manuhiri;
    • Ko te kaha ki te tukatuka i nga papatono me nga koropiko kua taapirihia ki te tikanga manatoko tono eBPF mena he iti te mahi o te kapiti kaore e taea te neke ake i te tepe o te maha o nga tohutohu;
  • Punaharoto kōpae, I/O me nga punaha konae
    • Kei te tautoko te punaha konae XFS inaianei i te whakawhiti inode miro-maha (hei tauira, i te wa e tirotirohia ana nga waahi). Ko nga ioctls hou BULKSTAT me INUMBERS kua taapirihia, e whakarato ana i te uru ki nga ahuatanga i puta mai i te rima o nga putanga o te whakatakotoranga FS, penei i te wa whanau o te inode me te kaha ki te whakarite i nga tawhā BULKSTAT me INUMBERS mo ia roopu AG (Nga Roopu Whakaritea);
    • I roto i te Ext4 tautoko kua tapirihia karekau i roto i nga raarangi (paraka kore hono).
      Ka whakaratohia te tukatuka haki “i” (kare e taea te whakarereke) mo nga konae tuwhera (ka rahuitia te tuhi i roto i tetahi ahuatanga mena kua whakatauhia te haki i te wa e tuwhera ana te konae);

    • Ka whakaratohia e Btrfs he whakamaramatanga mo te whakatinanatanga tere o te crc32c i runga i nga hoahoanga katoa;
    • I roto i te CIFS, kua tangohia te waehere mo te tautoko smbdirect hei whanaketanga whakamatautau. I taapiri a SMB3 i te kaha ki te whakamahi i nga algorithms cryptographic i te aratau GCM. Kua taapirihia he whiringa maunga hou hei tango i nga tawhā aratau mai i nga whakaurunga ACE (Access Control Entry). I arotauhia te mahi o te waea tuwhera();
    • I taapirihia he whiringa ki te F2FS hei whakawhāiti i te kaikohi paru i te wa e rere ana i roto i te aratau haki=whakakore. I taapirihia te ioctl ki te tango i nga awhe poraka mai i te F2FS, ka taea te whakarereke i te rahi o te waahanga-a-rere. Kua taapirihia te kaha ki te tuu i te konae whakawhiti ki te F2FS hei whakarato I/O tika. He tautoko taapiri mo te titi i tetahi konae me te tohatoha poraka mo nga konae rite mo nga kaiwhakamahi katoa;
    • He tautoko taapiri mo nga mahi tukutahinga sendmsg() me recvmsg() ki te atanga mo te whakaurunga tukutahi/whakaputa io_uring;
    • Ko te tautoko mo te taapiri ma te whakamahi i te zstd algorithm me te kaha ki te manatoko i nga whakaahua FS kua hainatia kua taapirihia ki te punaha konae UBIFS;
    • Kei te tautoko a Ceph FS i nga tapanga haumarutanga SELinux mo nga konae;
    • Mo te NFSv4, kua whakatinanahia he waahanga hou "nconnect =", e whakatau ana i te maha o nga hononga kua whakaritea ki te tūmau. Ka tohatohahia nga waka i waenga i enei hononga ma te whakamahi i te whakataurite kawenga. I tua atu, ka hangaia e te tūmau NFSv4 he whaiaronga / proc / fs / nfsd / kiritaki me nga korero mo nga kiritaki o naianei, tae atu ki nga korero mo nga kōnae kua whakatuwherahia e ratou;
  • Mariko me te Haumarutanga
    • Kei roto i te kaara he hypervisor mo nga taputapu whakauru ACRN, kua tuhia me te titiro ki te reri mo nga mahi tuuturu me te tika mo te whakamahi i nga punaha miihana. Ko te ACRN e whakarato ana i te iti o runga, ka whakamanahia te iti o te torohūtanga me te whakautu tika i te wa e taunekeneke ana me nga taputapu. Ka tautoko i te marikotanga o nga rauemi CPU, I/O, te punaha-roto whatunga, nga whakairoiro me nga mahi tangi. Ka taea te whakamahi i te ACRN ki te whakahaere i nga miihini mariko motuhake i roto i nga waahanga hiko hiko, papatohu, punaha korero miihini, taputapu IoT kaihoko me etahi atu hangarau whakauru;
    • I roto i te aratau-kaiwhakamahi Linux kua taapirihia Ko te aratau haerenga wa, ka taea e koe te whakaroa, te tere ranei i te wa i roto i te taiao UML mariko kia maamaa ake te patuiro i te waehere e pa ana ki te waa. I tua atu, kua taapirihia he tawhā
      wa-haere-timata, e taea ai te karaka punaha ki te tiimata mai i te waa kua tohua i roto i te whakatakotoranga o te waa;

    • Ko nga whiringa raina whakahau kernel hou "init_on_alloc" me "init_on_free" kua taapirihia, ka tohua, ka taea te whakakore i nga waahi mahara kua tohatohahia me te waatea (whakakii ki nga kore mo te malloc me te kore utu), ka taea te whakarei ake i te haumarutanga na te mea he arataki taapiri. runga;
    • Kua taapirihia he taraiwa hou virtio-iommu me te whakatinanatanga o te taputapu paravirtualized e taea ai e koe te tuku tono IOMMU penei i te ATTACH, DETACH, MAP me UNMAP i runga i te kawe virtio me te kore e peehi i nga ripanga wharangi mahara;
    • Kua taapirihia he taraiwa hou virtio-pmem, e tohu ana i te uru atu ki nga taputapu rokiroki kua mapi ki te waahi wahitau tinana, penei i nga NVDIMM;
    • I whakatinanahia te kaha ki te whakapiri i nga taviri cryptographic ki tetahi kaiwhakamahi, mokowāingoa whatunga ranei (ka kore e taea te uru atu ki waho o te mokowāingoa kua tohua), me te tiaki i nga taviri ma te whakamahi i nga ACL;
    • Ki te punaha-roto crypto tāpirihia tautoko mo te tino tere kore-cryptographic hashing algorithm xxhash, ko te tere e whakawhirinaki ana ki te mahi mahara;
  • Pūnaharoto whatunga
    • Kua whakahohea te tukatuka o nga wahitau IPv4 i te awhe 0.0.0.0/8, kaore i te waatea i mua mo te whakamahi. Te whakataki o tenei kupengaroto ka whakaaetia tohatoha atu 16 miriona nga wahitau IPv4;
    • I roto i te Netfilter mo nga nftables tāpirihia tautoko mo nga taputapu whakaterenga mo te tātari paatete ma te whakamahi i nga taraiwa taapiri API Paraka Rere. Ko nga ripanga katoa o nga ture me nga mekameka katoa ka taea te whakanoho ki te taha o nga urutau whatunga. Ka taea te whakaahei ma te here i te haki NFT_TABLE_F_HW ki te ripanga. E tautoko ana i nga metadata kawa o te Apa 3 me te Papa 4, te whakaae/whakakore i nga mahi, te mapi ma te IP me nga tauranga whatunga kaituku / kaiwhiwhi me te momo kawa;
    • Kua tapirihia te tautoko hononga hono mo nga piriti whatunga, kaore e hiahiatia te whakamahi i te paparanga tauira br_netfilter;
    • Kei nf_tables tāpirihia tautoko mo te kōwae SYNPROXY, e whakahoki ana i nga mahi rite mai i nga iptables, me te kaha ki te tirotiro i nga ture mo nga whiringa takitahi i roto i te pane IPv4 ka whakatinanahia;
    • Kua taapirihia te kaha ki te taapiri i nga kaupapa BPF ki te setsockopt() me te getsockopt() waea punaha, hei tauira, ka taea e koe te taapiri i o ake kaikawe uru ki enei waea. I tua atu, kua taapirihia he tohu waea hou (matau), ka taea e koe te whakarite waea ki te kaupapa BPF kotahi mo ia waahi RTT (te wa-haerenga-a-huri, te wa ping);
    • Mo IPv4 me IPv6 kua taapirihia he tikanga rokiroki raraunga ararere nexthop hou e whai ana ki te whakanui ake i te tauineine o nga ripanga ararere. I whakaatuhia e nga whakamatautau i te wa e whakamahi ana i te punaha hou, he huinga 743 mano nga huarahi i utaina ki roto i te kernel i roto i te 4.3 hēkona noa;
    • Mo te Nihokikorangi whakatinana mahi e hiahiatia ana hei tautoko i te ping LE;
  • Tuhinga
    • Kua tapirihia tautoko mo nga tukatuka x86-hototahi a te kamupene Zhaoxin, i whakawhanakehia hei hua o te kaupapa tahi i waenga i te VIA Technologies me te Taone o Shanghai. Ko te whanau ZX CPU i hangaia i runga i te hoahoanga x86-64 Isaiah, kei te haere tonu te whanaketanga o te hangarau VIA Centaur;
    • Ko te punaha iti o te DRM (Kaiwhakahaere Whakaaturanga Tika), me nga taraiwa whakairoiro amdgpu me i915, kua taapirihia te tautoko mo te tarai, te tukatuka me te tuku i nga metadata HDR (te awhe hihiri teitei) ma te tauranga HDMI, ka taea te whakamahi i nga panui HDR me nga mata e taea ana. te whakaatu i etahi atu awhe kanapa;
    • Kua taapirihia e te taraiwa amdgpu te tautoko tuatahi mo te AMD NAVI GPU (RX5700), kei roto ko te taraiwa turanga, te waehere taunekeneke mata (DCN2), GFX me te tautoko rorohiko (GFX10),
      SDMA 5 (Pūnaha DMA0), te whakahaere mana me te rongorau encoders/decoders (VCN2). Ko te amdgpu hoki te whakapai ake i te tautoko mo nga kaari e pa ana ki nga Vega12 me Vega20 GPU, kua taapirihia etahi atu mahara me nga mana whakahaere mana;

    • He tautoko taapiri mo nga kaari i runga i nga VegaM GPU ki te taraiwa amdkfd (mo nga GPU motuhake, penei i Fiti, Tonga, Polaris);
    • I roto i te taraiwa DRM mo nga kaari ataata Intel mo nga maramara Icelake whakatinana hou aratau whakatika gamma-waahanga maha. Kua taapirihia te kaha ki te whakaputa ma te WhakaatuPort i te whakatakotoranga YCbCr4:2:0. Kua taapirihia te firmware hou GuC mo SKL, BXT, KBL, GLK me ICL. Kua whakatinanahia te kaha ki te whakaweto i te mana mata i roto i te aratau tukutahi. Kua tapirihia te tautoko mo te whakaora me te whakaora i te horopaki whakaputa mo Ironlake (gen5) me te gen4 (Broadwater - Cantiga) maramara, e taea ai e koe te whakahoki i te ahua o te GPU mai i te waahi kaiwhakamahi i te wa e neke ana mai i tetahi mahi puranga ki tetahi atu;
    • Ko te taraiwa Nouveau e whakarato ana i te kitenga o te NVIDIA Turing TU116 chipset;
    • Ko nga kaha o te taraiwa DRM/KMS mo nga kaiwhakatere mata ARM Komeda (Mali D71) kua whakawhānuihia, te tautoko mo te tauine, te wehenga/hanumi paparanga, te hurihanga, te tuhi whakaroa, te AFBC, SMMU me nga whakatakotoranga whakawaehere tae Y0L2, P010, YUV420_8/10BIT kua kua tapirihia;
    • Ka taapirihia e te taraiwa MSM te tautoko mo te raupapa A540 GPU Adreno e whakamahia ana i roto i nga tukatuka Qualcomm, me te tautoko mo te kaiwhakahaere MSM8998 DSI mo Snapdragon 835;
    • He taraiwa taapiri mo nga panui LCD Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,
      Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 me VXT VL050-8048NT-C01;

    • Kua tapirihia taraiwa mo te whakaahei taputapu whakatere wetewete
      ataata e wātea ana i roto i te Amlogic Meson SoC;

    • I roto i te taraiwa v3d (mo te Broadcom Video Core V GPU i whakamahia i roto i te Raspberry Pi) ka puta tautoko te tuku whakamarumaru rorohiko;
    • Kua tapirihia taraiwa mo nga papapātuhi SPI me nga trackpads e whakamahia ana i roto i nga tauira hou o te rorohiko Apple MacBook me MacBookPro;
    • Kua tapirihia he whakamarumaru atu mo nga waea ioctl e pa ana ki te taraiwa piangore, a ko te taraiwa tonu ka tohua he kore tiaki
      (“pani”), e tohu ana te whakamutua o ana whakamatautau. Ko te taraiwa kei te rongoa tonu i roto i te kernel, engari kaore i te whakamanahia tana mahi tika. Ko te taraiwa e kiia ana he tawhito, na te mea he uaua ki te rapu taputapu mahi mo te whakamatautau - ko nga puku o waho o naianei, hei tikanga, whakamahia te atanga USB.

    • Kua tapirihia cpufreq taraiwa mo nga papa Raspberry Pi, e taea ai e koe te whakahaere hihiri i nga huringa o te auau tukatuka;
    • He tautoko taapiri mo te ARM SoC Mediatek mt8183 hou (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) me Amlogic G12B (4x Cortex-A73 + 2x Cortex- A53 ), me nga papa:
      • Purism Librem5,
      • BMC tere,
      • Microsoft Olympus BMC,
      • Kontron SMARC,
      • Novtech Meerkat96 (i.MX7),
      • ST Micro Avenger96,
      • Google Cheza (Qualcomm SDM845),
      • Qualcomm Dragonboard 845c (Qualcomm SDM845),
      • Pouaka pouaka whakaata Hugsun X99 (Rockchip RK3399),
      • Khadas Edge/Edge-V/Kapene (Rockchip RK3399),
      • HiHope RZ/G2M,
      • NXP LS1021A-TSN.

I taua wa ano, ko te Latin American Free Software Foundation hanga
kōwhiringa kakano tino kore utu 5.3 - Linux-pukapuka 5.3-gnu, kua whakakorehia nga waahanga miihini me nga taraiwa kei roto i nga waahanga kore-kore, i nga waahanga waehere ranei, ko te waahanga he iti noa e te kaiwhakanao. I roto i te tukunga hou, kua whakakorehia te utaina o te blob i roto i nga taraiwa qcom, hdcp drm, allegro-dvt me meson-vdec.
Kua whakahoutia te waehere horoi i roto i nga taraiwa me nga punaha iti amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, taraiwa tangi mo te skylake, tae atu ki nga tuhinga microcode.

Source: opennet.ru

Tāpiri i te kōrero