Famoahana kernel Linux 5.3

Taorian'ny roa volana ny fampandrosoana Linus Torvalds nanaiky famoahana kernel Linux 5.3. Anisan'ireo fiovana miavaka indrindra: fanohanana ny AMD Navi GPUs, Zhaoxi processors ary Intel Speed ​​Select Power Management Technology, ny fahafahana mampiasa umwait toromarika hiandry tsy mampiasa cycles,
'utilization clamping' mode izay mampitombo ny fifampiraharahana ho an'ny CPU asymmetrika, ny antson'ny rafitra pidfd_open, ny fahafahana mampiasa adiresy IPv4 avy amin'ny subnet 0.0.0.0/8, ny mety hisian'ny fanafainganana ny hardware nftables, ny fanohanana HDR ao amin'ny subsystem DRM, ny fampidirana ny ACRN hypervisor.

В fanambarana Ny famoahana vaovao, Linus dia nampahatsiahy ny mpamorona rehetra ny fitsipika fototra amin'ny fampivoarana kernel - ny fitazonana ny fitondran-tena mitovy amin'ny singa mpampiasa-space. Ny fanovana amin'ny kernel dia tsy tokony hanapaka ny rindranasa efa mandeha na hitarika fihemorana eo amin'ny sehatry ny mpampiasa. Amin'ity tranga ity, ny fanitsakitsahana ny fitondran-tena dia mety miteraka tsy ny fiovan'ny ABI, ny fanesorana ny code efa lany andro, na ny fisehoan'ny fahadisoana, fa ny fiantraikany ankolaka amin'ny fanatsarana mahasoa izay miasa tsara. Ohatra amin'ny fanoharana nisy ariana ilaina Optimization ao amin'ny kaody Ext4, izay mampihena ny isan'ny fidirana amin'ny fiara amin'ny alàlan'ny fanesorana mialoha ny famakiana ny latabatra inode ho an'ny fangatahana I/O kely.

Ny fanatsarana dia nitarika ny zava-misy fa, noho ny fihenan'ny hetsika kapila, dia nanomboka niangona tsikelikely ny entropy ho an'ny getrandom() ary amin'ny fanamafisana sasany, ao anatin'ny toe-javatra sasany, dia azo jerena ny fiatoana mandra-pahatongan'ny dobo entropy. feno. Koa satria tena ilaina ny fanatsarana, dia nisy adihevitra nipoitra teo amin'ireo mpamorona izay nanolorana azy handamina ny olana amin'ny alàlan'ny fanafoanana ny fomba fanakanana default amin'ny antso getrandom() ary manampy saina tsy voatery hiandry ny entropy, fa ny fiovana toy izany dia hisy fiantraikany amin'ny ny kalitaon'ny isa kisendrasendra amin'ny dingana voalohany amin'ny fandefasana.

Ny kinova vaovao dia nanaiky fanamboarana 15794 avy amin'ny mpamorona 1974,
haben'ny patch - 92 MB (fanovàna misy 13986 rakitra, 258419 andalana code nampiana,
599137 andalana nesorina). Manodidina ny 39% amin'ny rehetra no aseho amin'ny 5.3
Ny fanovana dia mifandray amin'ny mpamily fitaovana, manodidina ny 12% amin'ny fanovana no misy
toe-tsaina manoloana ny fanavaozana ny kaody manokana amin'ny maritrano hardware, 11%
mifandraika amin'ny tamba-jotra, 3% amin'ny rafitra fichier, ary 3% amin'ny anatiny
kernel subsystems.

tena fanavaozana:

  • Serivisy fitadidiana sy rafitra
    • Fitohizan'ny fampivelarana ny fampiasa 'pidfd' hanampy amin'ny fitantanana ny toe-javatra iainan'ny PID (mifamatotra amin'ny dingana iray manokana ny pidfd ary tsy miova, fa ny PID kosa dia azo ampifandraisina amin'ny dingana hafa rehefa tapitra ny dingana ankehitriny mifandray amin'io PID io). Nampidirina tamin'ny kernel izany teo aloha
      ny antso rafitra pidfd_send_signal() sy ny saina CLONE_PIDFD ao amin'ny clone() antso mba hahazoana pidfd ampiasaina amin'ny idfd_send_signal(). Ny fampiasana clone() miaraka amin'ny saina CLONE_PIDFD dia mety hiteraka olana amin'ny mpitantana serivisy na ny rafitra fampiatoana hery tsy misy fitadidiana an'ny sehatra Android. Amin'ity tranga ity, ny antso amin'ny fork() na clone() tsy misy CLONE_PIDFD dia ampiasaina hanombohana.

      Kernel 5.3 dia nampiditra ny antso an-tariby pidfd_open(), izay ahafahanao mahazo pidfd azo hamarinina ho an'ny dingana efa misy tsy misy dikany izay tsy noforonina tamin'ny fiantsoana clone() miaraka amin'ny saina CLONE_PIDFD. Nampiana ihany koa ny fanohanana ny fandatsaham-bato pidfd amin'ny fampiasana poll() sy epoll(), izay ahafahan'ny mpitantana ny dingana manara-maso ny fampitsaharana ireo dingana tsy manara-dalàna tsy misy tahotra ny toe-javatra hazakazaka raha toa ka voatendry amin'ny dingana vaovao ny PID. Ny fomba fampahafantarana fa tapitra ny dingana mifandraika amin'ny pidfd dia mitovy amin'ny fampahafantarana fa tapitra ny fizotran'ny zanany;

    • Ny fanohanana ny mekanisma fametahana entana dia nampiana tao amin'ny mpandrindra asa (Fampiasana clamping), mamela anao hifikitra amin'ny faran'ny faran'izay kely indrindra na ambony indrindra, miankina amin'ny asa mavitrika amin'ny CPU. Ny mekanika aseho dia manafaingana ny asa izay misy fiantraikany mivantana amin'ny kalitaon'ny traikefan'ny mpampiasa amin'ny alàlan'ny fampandehanana ireo asa ireo farafaharatsiny amin'ny faran'ny faran'ny matetika "angatahina". Ny asa ambany laharam-pahamehana izay tsy misy fiantraikany amin'ny asan'ny mpampiasa dia atomboka amin'ny fampiasana ny fetra ambony amin'ny matetika "avela". Ny fetra dia apetraka amin'ny alàlan'ny toetra sched_uclamp_util_min sy sched_uclamp_util_max ao amin'ny antson'ny rafitra sched_setattr().
    • Fanampiana fanampiny ho an'ny teknolojia fitantanana angovo Intel Speed ​​Select, azo alaina amin'ny mpizara voafantina miaraka amin'ny processeur Intel Xeon. Ity teknôlôjia ity dia ahafahanao mametraka firafitry ny fampandehanana sy fizarazarana ho an'ny cores CPU samihafa, izay ahafahanao mametraka laharam-pahamehana ho an'ny asa atao amin'ny cores sasany, manao sorona ny fahombiazan'ny cores hafa;
    • Processes amin'ny habaka mpampiasa Marina aloha ny fahafahana miandry fotoana fohy tsy mampiasa tadivavarana mampiasa ny umwait fampianarana. Ity torolalana ity, miaraka amin'ny toromarika umonitor sy tpause, dia hatolotra ao amin'ny chips "Tremont" ho avy Intel, ary hamela ny fampiharana ny fahatarana izay mahomby amin'ny angovo ary tsy misy fiantraikany amin'ny fahombiazan'ny kofehy hafa rehefa mampiasa Hyper Threading;
    • Ho an'ny maritrano RISC-V dia nampiana ny fanohanana ny pejy fitadidiana lehibe;
    • Ny mekanika fanaraha-maso kprobes dia nanampy ny fahafahana manilika ny tondro kernel amin'ny habaka mpampiasa, izay azo ampiasaina, ohatra, hanombanana ny votoatin'ny rafitra nampitaina tamin'ny antso an-tariby. Nampiana ihany koa ny fahafahana mametraka fanamarinana eo amin'ny sehatry ny boot.
    • Nampiana safidy PREEMPT_RT ho an'ny fisie fampandehanana amin'ny fotoana tena izy. Ny kaody mihitsy mba hanohanana ny maodely amin'ny fotoana tena izy dia tsy mbola nampidirina tao amin'ny kernel, fa ny fisehoan'ny safidy dia famantarana tsara fa ny epic maharitra. fampidirana Efa akaiky ho vita ny patch-Preempt amin'ny fotoana tena izy;
    • Nampiana ny antson'ny rafitra clone3() miaraka amin'ny fampiharana ny dikan-teny mivelatra kokoa amin'ny interface clone(), izay ahafahana mamaritra saina maromaro kokoa;
    • Nampiana mpandrindra bpf_send_signal (), mamela ny programa BPF handefa famantarana amin'ny dingana tsy misy dikany;
    • Ho an'ny hetsika perf ao amin'ny tontolon'ny KVM hypervisor, dia nampiana mekanika fanasivanana hetsika vaovao, ahafahan'ny mpitantana mamaritra ny karazana hetsika azo atao na tsy azo atao amin'ny fanaraha-maso eo amin'ny lafiny rafitra vahiny;
    • Nampiana tao amin'ny mekanisma fanamarinana ny fampiharana eBPF ny fahaiza-mikarakara fandaharana miaraka amin'ny tadivavarana raha toa ka voafetra ny fanatanterahana ny tadivavarana ary tsy afaka mihoatra ny fetra amin'ny isan'ny toromarika ambony indrindra;
  • Disk Subsystem, I/O ary Rafitra fisie
    • Ny rafitra fisie XFS izao dia manohana ny bypass inode misy kofehy maromaro (ohatra, rehefa manamarina quota). Nampiana ioctls vaovao BULKSTAT sy INUMBERS, manome fahafahana miditra amin'ireo endri-javatra niseho tamin'ny andiany fahadimy amin'ny endrika FS, toy ny fotoana nahaterahan'ny inode sy ny fahafahana mametraka ny mari-pamantarana BULKSTAT sy INUMBERS ho an'ny vondrona AG tsirairay (Vondrona Allocation);
    • Ao amin'ny Ext4 fanohanana nanampy voids amin'ny lahatahiry (bloka tsy misy rohy).
      Omena ny fanodinana saina "i" (tsy azo ovaina) ho an'ny rakitra misokatra (voarara ny fanoratana raha toa ka napetraka ny saina tamin'ny fotoana nisokatra ny rakitra);

    • Btrfs dia manome famaritana ny fampiharana haingana ny crc32c amin'ny maritrano rehetra;
    • Ao amin'ny CIFS, ny kaody ho an'ny fanohanana smbdirect dia nesorina ho fampandrosoana andrana. SMB3 dia nanampy ny fahafahana mampiasa algorithm kriptografika amin'ny fomba GCM. Nampiana safidy tendrombohitra vaovao hanesorana ny mari-pamantarana maody amin'ny fidirana ACE (Access Control Entry). Optimized ny fampandehanana ny open() antso;
    • Nampiana safidy ho an'ny F2FS hamerana ny mpanangom-pako rehefa mandeha amin'ny fomba fisavana = disable. Nampiana ioctl hanesorana ny sakana amin'ny F2FS, ahafahana manitsy ny haben'ny fisarahana amin'ny sidina. Nampiana ny fahafahana mametraka rakitra swap ao amin'ny F2FS mba hanomezana I/O mivantana. Fanampiana fanampiny ho an'ny fanindriana rakitra sy fizarana sakana ho an'ny rakitra mitovy amin'izany ho an'ny mpampiasa rehetra;
    • Fanampiana fanampiny ho an'ny asa asynchronous sendmsg() sy recvmsg() amin'ny interface ho an'ny asynchronous input/output io_uring;
    • Ny fanohanana ny famoretana amin'ny alàlan'ny algorithm zstd sy ny fahafahana manamarina ny sary FS voasonia dia nampiana tao amin'ny rafitra rakitra UBIFS;
    • Ceph FS izao dia manohana ny marika fiarovana SELinux ho an'ny rakitra;
    • Ho an'ny NFSv4, misy safidy tendrombohitra vaovao "nconnect =" napetraka, izay mamaritra ny isan'ny fifandraisana napetraka amin'ny mpizara. Ny fifamoivoizana eo amin'ireo fifandraisana ireo dia hozaraina amin'ny alàlan'ny fampifandanjana entana. Ankoatra izany, ny mpizara NFSv4 izao dia mamorona lahatahiry / proc / fs / nfsd / mpanjifa miaraka amin'ny fampahalalana momba ny mpanjifa amin'izao fotoana izao, anisan'izany ny fampahalalana momba ny rakitra nosokafany;
  • Virtualization sy fiarovana
    • Ny kernel dia misy hypervisor ho an'ny fitaovana napetraka ACRN, izay nosoratana tamin'ny fijerena ny fahavononana amin'ny asa amin'ny fotoana tena izy sy ny mety amin'ny fampiasana amin'ny rafitra mitsikera iraka. Ny ACRN dia manome overhead faran'izay kely, miantoka ny fahatarana ambany sy ny fandraisana andraikitra sahaza rehefa mifandray amin'ny fitaovana. Manohana virtoaly ny loharanon-karena CPU, I / O, subsystem tambajotra, sary ary asa feo. Ny ACRN dia azo ampiasaina hampandehanana milina virtoaly mitoka-monina maromaro ao amin'ny vondrona fanaraha-maso elektronika, dashboards, rafitra fampahalalana momba ny fiara, fitaovana IoT mpanjifa ary teknolojia hafa tafiditra;
    • Ao amin'ny User-mode Linux nanampy Fomba fitetezam-potoana, izay ahafahanao mampiadana na manafaingana ny fotoana ao anatin'ny tontolo virtoaly UML mba hanamora ny fandrafetana kaody mifandraika amin'ny fotoana. Fanampin'izay dia nampiana paramètre
      fotoana-dia-manomboka, izay mamela ny famantaranandro rafitra manomboka amin'ny fotoana voafaritra amin'ny endrika vanim-potoana;

    • Ny safidy andalana baiko kernel vaovao "init_on_alloc" sy "init_on_free" dia nampiana, rehefa voatondro, dia alefa ny zeroing amin'ny faritra fitadidiana natokana sy nafahana (famenoana aotra ho an'ny malloc sy maimaim-poana), izay ahafahana mampitombo ny fiarovana noho ny fanampim-panazavana fanampiny;
    • Nampiana mpamily vaovao virtio-iommu miaraka amin'ny fampiharana fitaovana paravirtualized izay ahafahanao mandefa fangatahana IOMMU toy ny ATTACH, DETACH, MAP ary UNMAP amin'ny fitaterana virtio nefa tsy maka tahaka ny tabilao pejin'ny fahatsiarovana;
    • Nampiana mpamily vaovao virtio-pmem, maneho ny fidirana amin'ireo fitaovana fitahirizana voasokajy amin'ny habaka adiresy ara-batana, toy ny NVDIMM;
    • Nampihatra ny fahafahana mametaka ny fanalahidy kriptografika amin'ny anaran'ny mpampiasa na tambajotra (lasa tsy azo idirana ivelan'ny namespace voafantina ny fanalahidy), ary koa miaro ny fanalahidy amin'ny fampiasana ACL;
    • Ho an'ny subsystem crypto nanampy fanohanana ny algorithm hashing tsy kriptografika tena haingana xxhash, ny hafainganam-pandehany dia miankina amin'ny fahombiazan'ny fitadidiana;
  • Subsystem tambajotra
    • Nalefa ny fanodinana ny adiresy IPv4 amin'ny salan'isa 0.0.0.0/8, izay tsy azo ampiasaina teo aloha. Fampidirana ity subnet ity hamela mizara adiresy IPv16 4 tapitrisa hafa;
    • Ao amin'ny Netfilter ho an'ny nftables nanampy fanohanana ny mekanika fanafainganana fitaovana amin'ny sivana fonosana amin'ny alàlan'ny fampiasana mpamily fanampiny Flow Block API. Ny tabilaon'ny fitsipika manontolo miaraka amin'ny rojo rehetra dia azo apetraka eo amin'ny sisin'ny adaptatera tambajotra. Ny fampandehanana dia atao amin'ny famatorana ny saina NFT_TABLE_F_HW amin'ny latabatra. Manohana metadata protocol Layer 3 sy Layer 4 tsotra, manaiky / mandà hetsika, sarintany amin'ny alàlan'ny IP sy seranan-tserasera mpandefa / mpandray ary karazana protocol;
    • nanampy fanohanana fanaraha-maso ny fifandraisana naorina ho an'ny tetezana tambajotra, izay tsy mitaky ny fampiasana ny sosona manahaka br_netfilter;
    • Ao amin'ny nf_tables nanampy fanohanana ny maody SYNPROXY, izay mamerina ny fiasa mitovy amin'izany avy amin'ny iptables, ary ny fahafahana manamarina ny fitsipika ho an'ny safidy tsirairay ao amin'ny lohatenin'ny IPv4;
    • Nampiana ny fahafahana mametaka programa BPF amin'ny antson'ny rafitra setsockopt() sy getsockopt(), izay, ohatra, dia ahafahanao mamehy ireo mpandrindra fidirana anao manokana amin'ireo antso ireo. Fanampin'izany, nampiana teboka fiantsoana vaovao (hook), izay ahafahanao mandamina antso amin'ny programa BPF indray mandeha isaky ny elanelan'ny RTT (fotoana fihodinana, fotoana ping);
    • Ho an'ny IPv4 sy IPv6 nanampy Mekanisma fitahirizana angon-drakitra fanodinana nexthop vaovao mikendry ny hampitombo ny scalability ny latabatra routing. Nasehon'ny fitsapana fa rehefa mampiasa ilay rafitra vaovao, dia nisy andiana lalana 743 arivo nampidirina tao anaty kernel tao anatin'ny 4.3 segondra monja;
    • Ho an'ny Bluetooth ampiharina fampiasa ilaina hanohanana ny LE ping;
  • fitaovana
    • nanampy fanohanana ny orinasa x86-mifanaraka processeur Zhaoxin, novolavolaina vokatry ny tetikasa iarahan'ny VIA Technologies sy ny Kaominina Shanghai. Ny fianakaviana ZX CPU dia miorina amin'ny maritrano x86-64 Isaiah, manohy ny fivoaran'ny teknolojia VIA Centaur;
    • Ny subsystem DRM (Direct Rendering Manager), ary koa ny mpamily grafika amdgpu sy i915, dia nanampy fanohanana ho an'ny parsing, fanodinana ary fandefasana metadata HDR (high dynamic range) amin'ny alàlan'ny seranana HDMI, mamela ny fampiasana tontonana HDR sy efijery afaka fanehoana ny famirapiratana fanampiny;
    • Ny mpamily amdgpu dia nanampy fanohanana voalohany ho an'ny AMD NAVI GPU (RX5700), izay ahitana ny mpamily fototra, kaody fifaneraserana amin'ny efijery (DCN2), GFX ary fanohanana kajy (GFX10),
      SDMA 5 (System DMA0), fitantanana herinaratra ary mpanodina/decoders multimedia (VCN2). Ny amdgpu koa dia manatsara ny fanohanana karatra mifototra amin'ny Vega12 sy Vega20 GPU, izay nampiana fahatsiarovana fanampiny sy fahaiza-mitantana herinaratra;

    • Fanampiana fanampiny ho an'ny karatra mifototra amin'ny GPU VegaM amin'ny mpamily amdkfd (ho an'ny GPU miavaka, toa an'i Fidji, Tonga, Polaris);
    • Ao amin'ny mpamily DRM ho an'ny karatra video Intel ho an'ny chips Icelake ampiharina fomba fanitsiana gamma maromaro vaovao. Nampiana ny fahafahana mamoaka amin'ny alalan'ny DisplayPort amin'ny endrika YCbCr4:2:0. Nampiana firmware vaovao GuC ho an'ny SKL, BXT, KBL, GLK ary ICL. Nampiharina ny fahafahana mamono ny herin'ny efijery amin'ny fomba asynchronous. nanampy fanohanana amin'ny fitahirizana sy famerenana amin'ny laoniny ny tontolon'ny famoahana ho an'ny chips Ironlake (gen5) sy gen4 (Broadwater - Cantiga), izay ahafahanao mamerina ny toetry ny GPU avy amin'ny habaka mpampiasa rehefa mifindra avy amin'ny hetsika andiany iray mankany amin'ny iray hafa;
    • Ny mpamily Nouveau dia manome fitiliana ny chipset NVIDIA Turing TU116;
    • Ny fahaiza-manaon'ny mpamily DRM/KMS ho an'ny ARM Komeda accelerators (Mali D71) dia nitarina, fanohanana ny scaling, fisarahana / merge layers, rotation, deferred write, AFBC, SMMU ary ny format encoding color Y0L2, P010, YUV420_8/10BIT dia manana nampiana;
    • Ny mpamily MSM dia manampy fanohanana ny andiany A540 GPU Adreno ampiasaina amin'ny processeur Qualcomm, ary koa ny fanohanana ny MSM8998 DSI controller ho an'ny Snapdragon 835;
    • Fanampiny ho an'ny takelaka LCD Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,
      Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 ary VXT VL050-8048NT-C01;

    • nanampy mpamily ahafahan'ny fitaovana fanafainganana decoding
      horonan-tsary misy ao amin'ny Amlogic Meson SoC;

    • Ao amin'ny mpamily v3d (ho an'ny Broadcom Video Core V GPU ampiasaina amin'ny Raspberry Pi) dia niseho fanohanana fandefasana shaders compute;
    • nanampy mpamily ho an'ny SPI kitendry sy trackpads ampiasaina amin'ny maodely maoderina Apple MacBook sy MacBookPro solosaina finday;
    • nanampy fiarovana fanampiny ho an'ny antso ioctl mifandray amin'ny mpamily floppy, ary ny mpamily mihitsy no voamarika ho tsy voakarakara
      (“kamboty”), izay midika ho fampitsaharana ny fitsapana azy. Ny mpamily dia mbola voatahiry ao amin'ny kernel, saingy tsy azo antoka ny fampandehanana azy. Ny mpamily dia heverina ho lany andro, satria sarotra ny mahita fitaovana miasa ho an'ny fitsapana azy - rehetra ankehitriny fiara ivelany, toy ny fitsipika, mampiasa ny USB interface tsara.

    • nanampy mpamily cpufreq ho an'ny boards Raspberry Pi, izay ahafahanao mifehy ny fiovan'ny fatran'ny processeur;
    • Fanohanana fanampiny ho an'ny ARM SoC Mediatek mt8183 vaovao (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) ary Amlogic G12B (4x Cortex-A73 + 2x Cortex- A53), ary koa ny boards:
      • Purism Librem5,
      • Aspeed BMC,
      • Microsoft Olympus BMC,
      • Kontron SMARC,
      • Novtech Meerkat96 (i.MX7),
      • ST Micro Avenger96,
      • Google Cheza (Qualcomm SDM845),
      • Qualcomm Dragonboard 845c (Qualcomm SDM845),
      • Hugsun X99 TV Box (Rockchip RK3399),
      • Khadas Edge/Edge-V/Kapiteny (Rockchip RK3399),
      • HiHope RZ/G2M,
      • Sary NXP LS1021A-TSN.

Miaraka amin'izany, Free Software Foundation Latin America niforona
safidy maimaim-poana tanteraka kernel 5.3 - linux-libre 5.3-gnu, nesorina tamin'ny singa firmware sy mpamily misy singa tsy maimaim-poana na fizarana code, izay voafetran'ny mpanamboatra ny sehatra. Ao amin'ny famoahana vaovao, ny blob loading dia kilemaina ao amin'ny qcom, hdcp drm, allegro-dvt ary meson-vdec mpamily.
Kaody fanadiovana blob nohavaozina amin'ny mpamily sy subsystems amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, mpamily feo ho an'ny skylake, ary koa ao amin'ny antontan-taratasy microcode.

Source: opennet.ru

Add a comment