Linux Kernel lage 5.3

Apre de mwa nan devlopman, Linus Torvalds entwodwi lage nwayo Linux 5.3. Pami chanjman ki pi remakab yo: sipò pou GPU AMD Navi, processeurs Zhaoxi ak teknoloji jesyon pouvwa Intel Speed ​​​​Select, kapasite pou itilize enstriksyon umwait pou tann san yo pa itilize sik,
mòd 'itilizasyon blocage' ki ogmante entèaktif pou CPU asimetri, apèl sistèm pidfd_open, kapasite pou itilize adrès IPv4 soti nan subnet 0.0.0.0/8, posibilite pou akselerasyon pyès ki nan konpitè nftables, sipò HDR nan subsistèm DRM, entegrasyon ACRN. hypervisor.

В anons Nouvo lage, Linus te raple tout devlopè règ prensipal devlopman nwayo a - kenbe menm konpòtman an pou eleman espas itilizatè yo. Chanjman nan nwayo a pa ta dwe nan okenn fason kraze aplikasyon ki deja ap kouri oswa mennen nan regression nan nivo itilizatè. Nan ka sa a, yon vyolasyon konpòtman ka lakòz pa sèlman yon chanjman nan ABI a, retire nan kòd demode, oswa aparans nan erè, men tou, enpak endirèk nan amelyorasyon itil ki travay kòrèkteman. Kòm yon egzanp ilistrasyon te gen jete itil optimize nan kòd Ext4, ki diminye kantite aksè kondwi pa enfim pre-lekti nan tab la inode pou ti demann I / O.

Optimize a te mennen nan lefèt ke, akòz yon diminisyon nan aktivite ki gen kapasite, entropi pou getrandom () dèlko nimewo o aza yo te kòmanse akimile pi dousman ak nan kèk konfigirasyon, nan sèten sikonstans, jele yo te kapab obsève pandan loading jiskaske pisin nan entropi yo te. plen. Piske optimize a vrèman itil, yon diskisyon te leve nan mitan devlopè kote yo te pwopoze pou rezoud pwoblèm nan lè yo enfim mòd bloke default nan apèl getrandom() la epi ajoute yon drapo si ou vle pou tann entropi, men yon chanjman konsa ta afekte a. bon jan kalite nimewo yo o aza nan etap inisyal la nan loading.

Nouvo vèsyon an gen ladan 15794 repare soti nan 1974 devlopè,
gwosè patch - 92 MB (chanjman ki afekte 13986 fichye, 258419 liy kòd yo te ajoute,
599137 ranje retire). Apeprè 39% nan tout prezante nan 5.3
chanjman yo gen rapò ak chofè aparèy, apeprè 12% nan chanjman yo genyen
atitid anvè ajou kòd espesifik nan achitekti pyès ki nan konpitè, 11%
ki gen rapò ak pile rezo a, 3% nan sistèm dosye ak 3% nan entèn yo
subsistèm nwayo.

Prensipal la inovasyon:

  • Sèvis memwa ak sistèm
    • Kontinye devlopman nan fonksyonalite 'pidfd' pou ede jere sitiyasyon PID réutilisation (pidfd asosye ak yon pwosesis espesifik epi li pa chanje, alòske yon PID ka asosye ak yon lòt pwosesis apre pwosesis aktyèl la asosye ak PID sa a fini). Li te deja ajoute nan nwayo a
      apèl sistèm pidfd_send_signal() ak drapo CLONE_PIDFD nan apèl clone() pou jwenn yon pidfd pou itilize nan idfd_send_signal(). Sèvi ak clone() ak drapo CLONE_PIDFD a ka lakòz pwoblèm ak manadjè sèvis yo oswa sistèm revokasyon fòs andwad platfòm andwad la. Nan ka sa a, yo itilize yon apèl nan fouchèt () oswa klonaj () san CLONE_PIDFD pou kòmanse.

      Kernel 5.3 prezante apèl sistèm lan pidfd_open(), ki pèmèt ou jwenn yon pidfd tcheke pou yon pwosesis abitrè ki deja egziste ki pa te kreye lè w rele clone() ak drapo CLONE_PIDFD la. Epitou te ajoute sipò pou sondaj pidfd lè l sèvi avèk poll() ak epoll(), ki pèmèt manadjè pwosesis yo swiv revokasyon pwosesis abitrè san yo pa pè yon kondisyon ras si yo plase yon PID nan yon nouvo pwosesis. Mekanis pou notifye ke yon pwosesis ki asosye ak pidfd te fini se menm jan ak notifye ke pwosesis pitit li a te fini;

    • Sipò pou mekanis epingle chaj la te ajoute nan pwogramasyon travay la (Itilizasyon blocage), ki pèmèt ou konfòme yo ak limit frekans minimòm oswa maksimòm, tou depann de travay yo aktif sou CPU a. Mekanis prezante a akselere travay ki afekte dirèkteman bon jan kalite eksperyans itilizatè a nan kouri travay sa yo omwen nan fen pi ba frekans "mande". Travay priyorite ki ba ki pa afekte travay itilizatè a yo lanse lè l sèvi avèk limit siperyè frekans "pèmèt". Limit yo tabli atravè atribi sched_uclamp_util_min ak sched_uclamp_util_max nan apèl sistèm sched_setattr().
    • Te ajoute sipò pou teknoloji jesyon enèji Intel Speed ​​​​Select, disponib sou sèvè seleksyone ak processeur Intel Xeon. Teknoloji sa a pèmèt ou mete paramèt pèfòmans ak debi patisyon pou diferan nwayo CPU, ki pèmèt ou bay priyorite pèfòmans pou travay ki fèt sou sèten nwayo, sakrifye pèfòmans sou lòt nwayo;
    • Pwosesis nan espas itilizatè bay kapasite pou tann pou yon ti tan san yo pa itilize bouk lè l sèvi avèk enstriksyon umwait la. Enstriksyon sa a, ansanm ak enstriksyon umonitor ak tpause, pral ofri nan chips "Tremont" Intel kap vini yo, epi yo pral pèmèt aplikasyon an reta ki efikas enèji epi ki pa afekte pèfòmans lòt fil lè w ap itilize Hyper Threading;
    • Pou achitekti RISC-V, sipò pou paj memwa gwo yo te ajoute;
    • Mekanis trase kprobes la te ajoute kapasite pou dereferans endikasyon nwayo nan espas itilizatè, ki ka itilize, pou egzanp, pou evalye sa ki nan estrikti yo pase nan apèl sistèm yo. Kapasite pou enstale chèk nan etap bòt la te ajoute tou.
    • Te ajoute opsyon PREEMPT_RT nan fichye konfigirasyon an pou operasyon an tan reyèl. Kòd tèt li pou sipòte mòd an tan reyèl pa ankò te ajoute nan nwayo a, men aparans nan opsyon a se yon bon siy ke sezon an alontèm. entegrasyon Patch Realtime-Preempt yo prèske fini;
    • Te ajoute apèl la sistèm clone3() ak aplikasyon an nan yon vèsyon ki pi ekstansib nan koòdone nan klonaj (), ki pèmèt espesifye yon pi gwo kantite drapo;
    • Te ajoute bpf_send_signal() handler, ki pèmèt pwogram BPF voye siyal nan pwosesis abitrè;
    • Pou evènman perf nan anviwònman an hypervisor KVM, yo te ajoute yon nouvo mekanis filtraj evènman, ki pèmèt administratè a detèmine ki kalite evènman ki pèmèt oswa ki pa pèmèt pou siveyans sou bò sistèm envite;
    • Abilite pou trete pwogram ak bouk yo te ajoute nan mekanis verifikasyon aplikasyon eBPF si ekzekisyon bouk la limite epi li pa ka mennen nan depase limit la sou kantite maksimòm enstriksyon yo;
  • Disk Subsystem, I/O ak File Systems
    • Sistèm fichye XFS la kounye a sipòte kontoune inode milti-threaded (pa egzanp, lè w tcheke kota). Nouvo ioctls BULKSTAT ak INUMBERS yo te ajoute, bay aksè a karakteristik yo ki te parèt nan senkyèm edisyon fòma FS la, tankou tan nesans inode ak kapasite nan mete paramèt BULKSTAT ak INUMBERS pou chak gwoup AG (Gwoup Alokasyon);
    • Nan Ext4 sipò te ajoute vid nan anyè (blòk ki pa lye).
      Pwosesis bay drapo "i" (imuiabl) pou dosye ouvè (ekri se entèdi nan yon sitiyasyon si drapo a te mete nan yon moman kote dosye a te deja louvri);

    • Btrfs bay yon definisyon yon aplikasyon rapid nan crc32c sou tout achitekti;
    • Nan CIFS, yo te retire kòd pou sipò smbdirect kòm devlopman eksperimantal. SMB3 te ajoute kapasite pou itilize algoritm kriptografik nan mòd GCM. Te ajoute yon nouvo opsyon mòn pou ekstrè paramèt mòd soti nan antre ACE (Entre Kontwòl Aksè). Optimize pèfòmans apèl open() la;
    • Te ajoute yon opsyon nan F2FS pou limite pèseptè fatra a lè w ap kouri nan pòs kontwòl = mòd ​​enfim. Te ajoute ioctl pou retire ranje blòk nan F2FS, sa ki pèmèt ajisteman gwosè patisyon an-vole. Te ajoute kapasite pou mete yon fichye swap nan F2FS pou bay I/O dirèk. Te ajoute sipò pou zepeng yon dosye ak alokasyon blòk pou dosye menm jan an pou tout itilizatè yo;
    • Te ajoute sipò pou operasyon asynchrone sendmsg() ak recvmsg() nan koòdone a pou asynchrone antre/sòti io_uring;
    • Yo te ajoute sipò pou konpresyon lè l sèvi avèk algorithm zstd ak kapasite pou verifye imaj FS ki siyen nan sistèm fichye UBIFS la;
    • Ceph FS kounye a sipòte etikèt sekirite SELinux pou dosye yo;
    • Pou NFSv4, yon nouvo opsyon mòn "nconnect =" te aplike, ki detèmine kantite koneksyon ki etabli ak sèvè a. Trafik ant koneksyon sa yo pral distribye lè l sèvi avèk balans chaj. Anplis de sa, sèvè a NFSv4 kounye a kreye yon anyè /proc/fs/nfsd/clients ak enfòmasyon sou kliyan aktyèl yo, ki gen ladan enfòmasyon sou dosye yo te louvri;
  • Virtualization ak sekirite
    • Kernel la gen ladan yon hypervisor pou aparèy entegre ACRN, ki ekri ak yon je pou pare pou travay an tan reyèl ak konvnab pou itilize nan sistèm misyon kritik. ACRN bay sou tèt minim, garanti ba latansi ak bon jan repons lè kominike avèk ekipman yo. Sipòte virtualizasyon resous CPU, I/O, subsystem rezo, grafik ak operasyon son. ACRN ka itilize pou kouri plizyè machin vityèl izole nan inite kontwòl elektwonik, tablodbò, sistèm enfòmasyon otomobil, aparèy IoT konsomatè yo ak lòt teknoloji entegre;
    • Nan Itilizatè-mòd Linux te ajoute Mòd vwayaj tan, ki pèmèt ou ralanti oswa akselere tan nan yon anviwònman UML vityèl pou fè li pi fasil pou debogaj kòd ki gen rapò ak tan. Anplis de sa, yo te ajoute yon paramèt
      tan-vwayaj-kòmanse, ki pèmèt revèy sistèm lan kòmanse soti nan yon moman espesifye nan fòma epòk;

    • Nouvo opsyon liy kòmand nwayo "init_on_alloc" ak "init_on_free" yo te ajoute, lè yo espesifye, zewo nan zòn memwa atribye ba yo ak libere pèmèt (ranpli ak zewo pou malloc ak gratis), ki pèmèt pou ogmante sekirite akòz inisyalizasyon anplis sou tèt;
    • Nouvo chofè te ajoute virtio-iommu ak aplikasyon an nan yon aparèy paravirtualized ki pèmèt ou voye demann IOMMU tankou ATTACH, DETACH, MAP ak UNMAP sou transpò a virtio san yo pa imite tab paj memwa;
    • Nouvo chofè te ajoute virtio-pmem, ki reprezante aksè nan aparèy depo trase nan espas adrès fizik, tankou NVDIMM;
    • Aplike kapasite pou tache kle kriptografik nan yon espas non itilizatè oswa rezo (kle vin inaksesib deyò espas non chwazi a), epi tou pwoteje kle lè l sèvi avèk ACL;
    • Nan subsistèm kript la te ajoute sipò pou yon algorithm hachaj ki pa kriptografik trè vit xxhash, vitès la nan ki depann sou pèfòmans memwa;
  • Sou-sistèm rezo
    • Pèmèt pwosesis adrès IPv4 nan seri 0.0.0.0/8, ki te deja disponib pou itilize. Entwodiksyon sou-rezo sa a pral pèmèt distribye yon lòt 16 milyon adrès IPv4;
    • Nan Netfilter pou nftables te ajoute sipò pou mekanis akselerasyon pyès ki nan konpitè pou filtraj pake atravè itilizasyon chofè ajoute Flow Block API. Tout tab règ ak tout chenn yo ka mete sou bò adaptè rezo yo. Pèmèt se fè pa mare drapo a NFT_TABLE_F_HW sou tab la. Sipòte senp Metadata pwotokòl Kouch 3 ak Kouch 4, aksepte / rejte aksyon, kat pa IP ak pò rezo emèt / reseptè ak kalite pwotokòl;
    • Te ajoute bati-an sipò swiv koneksyon pou pon rezo yo, ki pa mande pou itilize kouch emulation br_netfilter la;
    • Nan nf_tables te ajoute sipò pou modil la SYNPROXY, ki repwodui fonksyonalite ki sanble nan iptables, ak kapasite nan tcheke nan règ pou opsyon endividyèl nan header IPv4 la tou aplike;
    • Te ajoute kapasite pou tache pwogram BPF nan apèl sistèm setsockopt() ak getsockopt(), ki, pou egzanp, pèmèt ou tache pwòp aksè ou yo nan apèl sa yo. Anplis de sa, yo te ajoute yon nouvo pwen apèl (kwòk), ak ki ou ka òganize yon apèl nan pwogram nan BPF yon fwa pou chak entèval RTT (round-trip-time, tan ping);
    • Pou IPv4 ak IPv6 te ajoute nouvo mekanis depo done nexthop routage ki vize pou ogmante évolutivité tab routage yo. Tès yo te montre ke lè w ap itilize nouvo sistèm nan, yon seri 743 mil wout te chaje nan nwayo a nan jis 4.3 segonn;
    • Pou Bluetooth aplike fonksyonalite obligatwa pou sipòte LE ping;
  • Ekipman
    • Te ajoute sipò pou processeurs konpayi an konpatib x86 Zhaoxin, devlope kòm yon rezilta nan yon pwojè jwenti ant VIA Technologies ak Minisipalite Shanghai. Fanmi ZX CPU bati sou achitekti x86-64 Isaiah, kontinye devlopman teknoloji VIA Centaur;
    • Sou-sistèm DRM (Direct Rendering Manager), ansanm ak chofè grafik amdgpu ak i915, te ajoute sipò pou analize, trete ak voye metadone HDR (segondè ranje dinamik) atravè pò HDMI, sa ki pèmèt itilizasyon panno ak ekran HDR ki kapab. montre plis klète ranje;
    • Chofè amdgpu a te ajoute sipò inisyal pou AMD NAVI GPU (RX5700), ki gen ladann chofè de baz, kòd entèraksyon ekran (DCN2), GFX ak sipò kalkile (GFX10),
      SDMA 5 (Sistèm DMA0), jesyon pouvwa ak ankode / dekode miltimedya (VCN2). amdgpu tou amelyore sipò pou kat ki baze sou Vega12 ak Vega20 GPU, pou yo te ajoute memwa adisyonèl ak kapasite jesyon pouvwa;

    • Te ajoute sipò pou kat ki baze sou VegaM GPU nan chofè amdkfd (pou GPU disrè, tankou Fidji, Tonga, Polaris);
    • Nan chofè a DRM pou kat videyo Intel pou chips Icelake aplike nouvo mòd koreksyon gama milti-segman. Te ajoute kapasite nan pwodiksyon atravè DisplayPort nan fòma YCbCr4:2:0. Nouvo firmwèr te ajoute GuC pou SKL, BXT, KBL, GLK ak ICL. Kapasite pou fèmen ekran pouvwa nan mòd asynchrone te aplike. Te ajoute sipò pou ekonomize ak restore kontèks rann pou chip Ironlake (gen5) ak gen4 (Broadwater - Cantiga), ki pèmèt ou retabli eta GPU a soti nan espas itilizatè lè w ap deplase soti nan yon operasyon pakèt nan yon lòt;
    • Chofè Nouveau a bay deteksyon chipset NVIDIA Turing TU116 la;
    • Kapasite chofè DRM/KMS pou akseleratè ekran ARM Komeda (Mali D71) yo te elaji, sipò pou dekale, divize/fizyone kouch, wotasyon, ekri difere, AFBC, SMMU ak fòma kodaj koulè Y0L2, P010, YUV420_8/10BIT. te ajoute;
    • Chofè a MSM ajoute sipò pou seri A540 GPU Adreno yo itilize nan processeurs Qualcomm, osi byen ke sipò pou kontwolè MSM8998 DSI pou Snapdragon 835;
    • Te ajoute chofè pou panno LCD Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,
      Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 ak VXT VL050-8048NT-C01;

    • Te ajoute chofè pou pèmèt zouti akselerasyon dekodaj
      videyo ki disponib nan Amlogic Meson SoC;

    • Nan chofè a v3d (pou Broadcom Video Core V GPU yo itilize nan Franbwaz Pi a) parèt sipòte dispatching compute shaders;
    • Te ajoute chofè pou klavye SPI ak trackpad yo itilize nan modèl modèn Apple MacBook ak MacBookPro laptops;
    • Te ajoute pwoteksyon adisyonèl pou apèl ioctl ki asosye ak chofè a diskèt, epi chofè a li menm make kòm san antretyen.
      ("orfelen"), ki vle di revokasyon tès li yo. Chofè a toujou estoke nan nwayo a, men operasyon kòrèk li pa garanti. Se chofè a konsidere kòm demode, paske li difisil pou jwenn ekipman k ap travay pou teste li - tout kondui ekstèn aktyèl yo, tankou yon règ, sèvi ak koòdone USB a.

    • Te ajoute chofè cpufreq pou ankadreman Raspberry Pi, ki pèmèt ou kontwole dinamik chanjman nan frekans processeur;
    • Te ajoute sipò pou nouvo ARM SoC Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) ak Amlogic G12B (4x Cortex-A73 + 2x Cortex- A53), osi byen ke tablo:
      • 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/Kapitèn (Rockchip RK3399),
      • Bonjou RZ/G2M,
      • NXP LS1021A-TSN.

An menm tan an, Fondasyon Lojisyèl Libète Amerik Latin nan fòme
opsyon konplètman gratis nwayo 5.3 - Linux-libre 5.3-gnu, otorize nan firmwèr ak eleman chofè ki gen eleman ki pa gratis oswa seksyon kòd, dimansyon ki limite pa manifakti a. Nan nouvo lage a, chaje blob enfim nan chofè qcom, hdcp drm, allegro-dvt ak meson-vdec.
Mizajou kòd netwayaj blob nan chofè ak subsystems amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, son chofè pou skylake, osi byen ke nan dokiman mikrokod la.

Sous: opennet.ru

Add nouvo kòmantè