Tom qab ob lub hlis ntawm txoj kev loj hlob, Linus Torvalds tswvcuab kernel tso tawm Linux 5.3. Ntawm cov kev hloov pauv tseem ceeb tshaj plaws: kev txhawb nqa rau AMD Navi GPUs, Zhaoxi processors thiab Intel Speed Select lub zog tswj thev naus laus zis, muaj peev xwm siv cov lus qhia umwait tos yam tsis siv lub voj voog,
'siv clamping' hom uas nce kev sib cuam tshuam rau asymmetric CPUs, pidfd_open system hu, muaj peev xwm siv IPv4 chaw nyob los ntawm 0.0.0.0/8 subnet, muaj peev xwm ntawm nftables kho vajtse acceleration, HDR kev txhawb nqa hauv DRM subsystem, kev koom ua ke ntawm ACRN hypervisor.
В tshaj tawm Kev tso tawm tshiab, Linus tau ceeb toom rau txhua tus neeg tsim tawm ntawm txoj cai tseem ceeb ntawm kev txhim kho kernel - tswj tus cwj pwm zoo ib yam rau cov neeg siv-qhov chaw. Kev hloov pauv rau cov ntsiav yuav tsum tsis txhob nyob rau hauv ib txoj kev tawg uas twb tau khiav cov ntawv thov los yog ua rau regressions ntawm tus neeg siv theem. Hauv qhov no, kev ua txhaum ntawm tus cwj pwm tuaj yeem ua rau tsis yog kev hloov pauv hauv ABI nkaus xwb, kev tshem tawm cov lej tsis tu ncua, lossis cov tsos ntawm qhov tsis raug, tab sis kuj cuam tshuam ncaj qha rau kev txhim kho tseem ceeb uas ua haujlwm raug. Raws li piv txwv piv txwv muaj muab pov tseg pab tau xaiv kom zoo nyob rau hauv Ext4 code, uas txo cov naj npawb ntawm cov tsav nkag los ntawm kev tsis ua haujlwm nyeem ntawv ua ntej ntawm lub rooj inode rau qhov kev thov me me ntawm I / O.
Qhov kev ua kom zoo tau coj mus rau qhov tseeb tias, vim qhov txo qis hauv kev ua haujlwm disk, entropy rau tus lej random generator getrandom() pib sib sau qeeb dua thiab hauv qee qhov kev teeb tsa, nyob rau qee qhov xwm txheej, khov tuaj yeem pom thaum lub sijhawm thauj khoom kom txog thaum lub pas dej entropy yog. puv. Txij li thaum qhov kev ua kom zoo yog qhov muaj txiaj ntsig tiag tiag, kev sib tham tau tshwm sim ntawm cov neeg tsim khoom uas nws tau thov los kho qhov teeb meem los ntawm kev cuam tshuam lub neej ntawd thaiv hom ntawm getrandom() hu thiab ntxiv tus chij xaiv los tos rau entropy, tab sis xws li kev hloov pauv yuav cuam tshuam rau qhov zoo ntawm cov lej random nyob rau theem pib ntawm kev thauj khoom.
Tus tshiab version suav nrog 15794 kho los ntawm 1974 tus tsim tawm,
thaj loj - 92 MB (hloov cuam tshuam 13986 cov ntaub ntawv, 258419 kab ntawm cov lej tau ntxiv,
599137 kab tshem tawm). Kwv yees li 39% ntawm tag nrho cov nthuav tawm hauv 5.3
Cov kev hloov pauv muaj feem xyuam rau cov tsav tsheb, kwv yees li 12% ntawm cov kev hloov pauv
Tus cwj pwm ntawm kev hloov kho cov cai tshwj xeeb rau kho vajtse architectures, 11%
cuam tshuam rau pawg network, 3% rau cov ntaub ntawv kaw lus thiab 3% rau sab hauv
kernel subsystems.
Lub kprobes tracing mechanism tau ntxiv lub peev xwm los dereference kernel pointers rau cov neeg siv qhov chaw, uas tuaj yeem siv tau, piv txwv li, los ntsuas cov ntsiab lus ntawm cov qauv xa mus rau kev hu xov tooj. Lub peev xwm rau nruab cov tshev ntawm lub khau raj theem kuj tau ntxiv.
Ntxiv PREEMPT_RT kev xaiv rau cov ntaub ntawv teeb tsa rau lub sijhawm ua haujlwm. Txoj cai nws tus kheej los txhawb hom real-time tseem tsis tau ntxiv rau hauv cov ntsiav, tab sis cov tsos ntawm cov kev xaiv yog ib qho kev qhia zoo uas lub sijhawm ntev epic. kev koom ua ke Realtime-Preempt thaj ua rau thaj yog ze rau ua tiav;
Ntxiv cov clone3() system hu nrog rau kev siv ntawm ib tug ntxiv extensible version ntawm lub clone() interface, uas tso cai rau qhia ib tug loj tus naj npawb ntawm cov chij;
Ntxiv bpf_send_signal() handler, tso cai rau BPF cov kev pab cuam xa cov cim rau cov txheej txheem arbitrary;
Rau cov xwm txheej perf hauv KVM hypervisor ib puag ncig, ib qho kev tshwm sim tshiab lim tau raug ntxiv, tso cai rau tus thawj coj txiav txim siab txog hom xwm txheej uas tau tso cai lossis tsis tso cai rau kev saib xyuas ntawm cov qhua sab hauv;
Lub peev xwm los ua cov kev pab cuam nrog loops tau ntxiv rau eBPF daim ntawv thov kev pov thawj mechanism yog tias qhov kev ua tiav ntawm lub voj yog txwv thiab tsis tuaj yeem ua rau ntau tshaj qhov txwv ntawm cov lus qhia ntau tshaj plaws;
Disk subsystem, I / O thiab cov ntaub ntawv systems
XFS cov ntaub ntawv tam sim no txhawb nqa ntau txoj xov inode bypass (piv txwv li, thaum kuaj quotas). Tshiab ioctls BULKSTAT thiab INUMBERS tau ntxiv, muab kev nkag mus rau cov yam ntxwv uas tau tshwm sim nyob rau hauv lub thib tsib tsab ntawm FS hom, xws li lub sij hawm yug inode thiab lub peev xwm los teeb tsa BULKSTAT thiab INUMBERS tsis tau rau txhua pawg AG (Cov Pab Pawg Sib Koom Tes);
Hauv CIFS, cov cai rau smbdirect kev txhawb nqa tau raug tshem tawm raws li kev sim kev txhim kho. SMB3 ntxiv lub peev xwm los siv cryptographic algorithms hauv GCM hom. Ntxiv qhov kev xaiv mount tshiab rau rho tawm hom tsis tau los ntawm ACE (Access Control Entry) nkag. Optimized qhov kev ua tau zoo ntawm qhib() hu;
Ntxiv ib qho kev xaiv rau F2FS kom txwv cov khoom khib nyiab thaum khiav hauv checkpoint = lov tes taw hom. Ntxiv ioctl kom tshem tawm qhov thaiv ntau yam los ntawm F2FS, tso cai rau kev hloov kho qhov loj me ntawm on-the-fly. Ntxiv lub peev xwm los tso cov ntaub ntawv sib pauv hauv F2FS los muab I / O ncaj qha. Ntxiv kev txhawb nqa rau pinning cov ntaub ntawv thiab faib cov blocks rau cov ntaub ntawv zoo sib xws rau txhua tus neeg siv;
Ntxiv kev txhawb nqa rau kev ua haujlwm asynchronous sendmsg() thiab recvmsg() rau lub interface rau asynchronous input/output io_uring;
Ceph FS tam sim no txhawb SELinux cov ntawv ruaj ntseg rau cov ntaub ntawv;
Rau NFSv4, qhov kev xaiv mount tshiab "nconnect =" tau raug siv, uas txiav txim siab tus naj npawb ntawm kev sib txuas tsim nrog lub server. Kev khiav tsheb ntawm cov kev sib txuas no yuav raug faib los ntawm kev sib npaug ntawm kev thauj khoom. Tsis tas li ntawd, NFSv4 server tam sim no tsim cov npe /proc/fs/nfsd/cov neeg siv khoom nrog cov ntaub ntawv hais txog cov neeg siv tam sim no, suav nrog cov ntaub ntawv hais txog cov ntaub ntawv lawv tau qhib;
Virtualization thiab Kev Ruaj Ntseg
Lub kernel muaj xws li ib tug hypervisor rau embedded li ACRN, uas yog sau nrog lub qhov muag rau kev npaj rau cov dej num tiag tiag thiab tsim nyog rau kev siv hauv lub luag haujlwm tseem ceeb. ACRN muab nyiaj siv ua haujlwm tsawg kawg nkaus, lav tsis tshua muaj latency thiab kev ua haujlwm txaus thaum cuam tshuam nrog cov khoom siv. Txhawb virtualization ntawm CPU cov peev txheej, I / O, network subsystem, graphics thiab suab ua haujlwm. ACRN tuaj yeem siv los khiav ntau lub tshuab virtual cais hauv cov tshuab hluav taws xob tswj hluav taws xob, dashboards, cov ntaub ntawv xov xwm tsheb, cov neeg siv khoom siv IoT thiab lwm yam cuab yeej siv;
Hauv Cov Neeg Siv-hom Linux ntxiv Lub sij hawm mus txawv tebchaws hom, uas tso cai rau koj mus qeeb los yog ceev lub sij hawm nyob rau hauv ib tug virtual UML ib puag ncig kom nws yooj yim rau debug lub sij hawm hais txog code. Tsis tas li ntawd, ib qho parameter tau ntxiv
time-travel-start, uas tso cai rau lub kaw lus moos pib los ntawm lub sijhawm teev nyob rau hauv hom epoch;
Tshiab kernel hais kom ua kab xaiv "init_on_alloc" thiab "init_on_free" tau ntxiv, thaum teev tseg, qhov zeroing ntawm kev faib thiab tso tawm qhov chaw nco tau qhib (sau nrog xoom rau malloc thiab dawb), uas ua rau nws muaj peev xwm txhim kho kev ruaj ntseg vim kev pib ntxiv ntxiv nyiaj siv ua haujlwm;
Tus tsav tsheb tshiab ntxiv virtio-yam nrog rau kev siv cov khoom siv paravirtualized uas tso cai rau koj xa cov ntawv thov IOMMU xws li ATTACH, DETACH, MAP thiab UNMAP hla kev thauj virtio yam tsis tau ua raws cov nplooj ntawv nco;
Tus tsav tsheb tshiab ntxiv virtio-pem, sawv cev rau kev nkag mus rau cov khoom siv khaws cia tau kos npe rau qhov chaw nyob ntawm lub cev, xws li NVDIMMs;
Siv lub peev xwm los txuas cov yuam sij cryptographic rau tus neeg siv lossis network namespace (cov yuam sij dhau los ua tsis tau sab nraum lub npe xaiv), nrog rau kev tiv thaiv cov yuam sij siv ACLs;