Disk subsystem, I / O thiab cov ntaub ntawv systems
Ntxiv tshiab exFAT tsav tsheb siv, nrhiav tau raws li tam sim no "sdfat" (2.x) code puag tsim los ntawm Samsung rau nws cov hauv smartphones. Tus tsav tsheb yav dhau los ntxiv rau cov ntsiav yog raws li keeb kwm Samsung code (version 1.2.9) thiab yog li 10% qab tus tsav tsheb tshiab hauv kev ua haujlwm. Cia peb nco qab tias ntxiv exFAT kev txhawb nqa rau lub ntsiav tau ua tau tom qab Microsoft luam tawm pej xeem cov lus qhia tshwj xeeb thiab ua rau exFAT patents muaj rau kev siv tsis muaj nuj nqis ntawm Linux.
Btrfs siv cov lus txib tshiab ioctl() - BTRFS_IOC_SNAP_DESTROY_V2, uas tso cai rau koj tshem tawm ib ntu los ntawm nws tus cim. Kev txhawb nqa tag nrho rau cloning inline extents yog muab. Tus naj npawb ntawm cov ntsiab lus tshem tawm rau kev xa rov qab ua haujlwm tau nthuav dav, uas tau txo qhov ntev tos thaum ua tiav cov lus txib 'sib npaug tshem tawm'. Qhov kev txiav txim siab ntawm backlinks mus rau ntau qhov tau nrawm dua (piv txwv li, lub sijhawm ua tiav cov ntawv xeem tau txo qis los ntawm ib teev mus rau ob peb feeb). Ntxiv lub peev xwm los txuas cov ntaub ntawv txuas mus rau txhua qhov inode ntawm tsob ntoo. Cov txheej txheem thaiv kev siv thaum sau ntawv rau subpartitions thiab thaum tsis suav nrog NOCOW tau raug kho dua tshiab. Txhim kho kev ua haujlwm ntawm fsync ua rau ntau yam.
XFS tau txhim kho kev tshuaj xyuas metadata thiab fsck rau cov kev faib ua haujlwm. Lub tsev qiv ntawv tau raug thov kom rov tsim kho btree cov qauv, uas yav tom ntej yuav raug siv los rov ua haujlwm xfs_repair thiab ua kom muaj peev xwm rov qab los yam tsis muaj kev faib tawm.
Kev sim kev txhawb nqa rau qhov muab faib sib pauv hauv SMB3 khaws cia tau ntxiv rau CIFS. Siv POSIX txuas ntxiv rau readdir, txhais hauv SMB3.1.1 specification. Txhim kho kev sau ntawv zoo rau 64 KB nplooj ntawv thaum cache = nruj hom yog qhib thiab raws tu qauv version 2.1+ siv.
FS EXT4 tau raug xa mus los ntawm bmap thiab iopoll mus siv iomap.
F2FS muab kev txhawb nqa rau cov ntaub ntawv compression siv zstd algorithm. Los ntawm lub neej ntawd, LZ4 algorithm yog siv rau compression. Ntxiv kev txhawb nqa rau "chattr -c cog lus" hais kom ua. Mounting lub sij hawm tso saib. Ntxiv ioctl F2FS_IOC_GET_COMPRESS_BLOCKS kom tau txais cov ntaub ntawv hais txog tus naj npawb ntawm compressed blocks. Ntxiv compression cov ntaub ntawv tso zis ntawm statx.
Ceph cov ntaub ntawv tau ntxiv lub peev xwm hauv zos ua cov ntaub ntawv tsim thiab tshem tawm cov haujlwm (tsis txuas) yam tsis tau tos cov lus teb los ntawm cov neeg rau zaub mov (ua haujlwm hauv hom asynchronous). Qhov kev hloov pauv, piv txwv li, tuaj yeem txhim kho kev ua tau zoo thaum ua haujlwm rsync utility.
Lub peev xwm los siv virtiofs raws li cov ntaub ntawv saum toj kawg nkaus tau ntxiv rau OVERLAYFS.
Rov sau dua txoj kev traversal code nyob rau hauv VFS, cim txuas parsing code tau reworked, thiab mount point traversal tau unified.
Hauv scsi subsystem rau cov neeg siv tsis muaj cai tso cai kev ua tiav ntawm ZBC cov lus txib.
Hauv dm_writecache ua raws lub peev xwm los maj mam tshem cov cache raws li max_age parameter, uas teeb tsa lub neej ntev tshaj plaws ntawm kev thaiv.
Thaum tsiv ib lub cuab yeej los ntawm ib lub network namespace mus rau lwm qhov, cov cai nkag thiab cov tswv cuab ntawm cov ntaub ntawv sib raug zoo hauv sysfs raug kho.
Ntxiv lub peev xwm los siv SO_BINDTODEVICE chij rau cov neeg siv tsis yog hauv paus.
Qhov thib peb ntawm thaj ua rau thaj tau lees txais, hloov pauv cov khoom siv ethtool los ntawm ioctl() mus rau kev siv netlink interface. Lub interface tshiab ua rau nws yooj yim dua ntxiv rau kev txuas ntxiv, txhim kho kev ua yuam kev, tso cai rau cov ntawv ceeb toom xa thaum lub xeev hloov pauv, ua kom yooj yim ntawm kev sib cuam tshuam ntawm cov ntsiav thiab cov neeg siv qhov chaw, thiab txo cov npe npe uas yuav tsum tau synchronized.
Ntxiv lub peev xwm los siv tshwj xeeb kho vajtse accelerators los ua kev sib txuas mus txog qhov haujlwm.
Hauv netfilter ntxiv ib tug nuv rau kev sib txuas classifiers ntawm cov pob khoom tawm (egress), uas ua tiav cov kev sib txuas yav dhau los rau cov pob khoom tuaj (ingress).
Virtualization thiab Kev Ruaj Ntseg
Ntxiv kho vajtse siv ntawm pointer authentication (Pointer Authentication), uas siv cov lus qhia tshwj xeeb ARM64 CPU los tiv thaiv kev tawm tsam uas siv cov txheej txheem rov qab los qhia txog kev ua haujlwm (ROP), uas tus neeg tawm tsam tsis sim tso nws cov cai hauv lub cim xeeb, tab sis ua haujlwm ntawm cov lus qhia ntawm lub tshuab uas twb muaj nyob rau hauv cov tsev qiv ntawv thauj khoom, xaus nrog rau kev tswj rov qab qhia. Kev ruaj ntseg los ntawm kev siv cov kos npe digital los txheeb xyuas qhov chaw nyob xa rov qab ntawm qib kernel. Cov kos npe yog khaws cia rau hauv cov khoom siv sab saum toj uas tsis siv ntawm tus pointer nws tus kheej. Tsis zoo li kev siv software, kev tsim thiab kev txheeb xyuas cov kos npe digital yog ua los ntawm cov lus qhia tshwj xeeb CPU.
Ntxiv muaj peev xwm los tiv thaiv ib cheeb tsam nco los ntawm kev sau ntawv siv userfaultfd() system hu, tsim los daws cov nplooj ntawv tsis raug ( nkag mus rau nplooj ntawv nco tsis tau) hauv cov neeg siv chaw. Lub tswv yim yog siv userfaultfd() ob qho tib si txhawm rau txhawm rau txhawm rau txhawm rau txhawm rau nkag mus rau cov nplooj ntawv sau npe tiv thaiv thiab hu rau tus neeg tuav ntaub ntawv uas tuaj yeem teb rau cov kev sim sau ntawv no (piv txwv li, los tswj cov kev hloov pauv thaum lub sijhawm tsim cov snapshots ntawm cov txheej txheem khiav, xeev. ntes thaum dumping nco dumps rau disk, siv kev sib koom nco, nrhiav kev hloov hauv nco). Kev ua haujlwm sib npaug siv mpprotect() ua ke nrog SIGSEGV teeb liab handler, tab sis nws ua hauj lwm sai sai.
SELinux tau deprecated qhov "checkreqprot" parameter, uas tso cai rau koj mus lov tes taw kev tiv thaiv kev nco thaum ua cov kev cai (tso cai siv cov executable nco chaw, tsis hais cov cai teev nyob rau hauv cov cai). Kernfs symlinks raug tso cai los ua qub txeeg qub teg ntawm lawv niam txiv cov npe.
Feem suav nrog tus qauv KRSI, uas tso cai rau koj txuas BPF cov kev pab cuam rau ib qho LSM hooks hauv lub kernel. Qhov kev hloov pauv tso cai rau koj los tsim LSM modules (Linux Security Module) nyob rau hauv daim ntawv ntawm BPF cov kev pab cuam los daws cov teeb meem kev tshuaj xyuas thiab kev tswj xyuas yuav tsum tau ua.
Ua tiav Optimizes qhov kev ua tau zoo ntawm /dev/random los ntawm batching CRNG qhov tseem ceeb es tsis txhob hu RNG cov lus qhia ib tus zuj zus. Txhim kho kev ua tau zoo ntawm getrandom thiab / dev / random ntawm ARM64 systems muab RNG cov lus qhia.
Los ntawm 80 mus rau 100 cim nce txwv ntawm kab ntev tshaj plaws hauv cov ntawv sau. Nyob rau tib lub sijhawm, cov neeg tsim khoom tseem pom zoo kom nyob tsis pub dhau 80 cim ib kab, tab sis qhov no tsis yog qhov nyuaj ntxiv lawm. Tsis tas li ntawd, dhau ntawm txoj kab loj txwv tam sim no yuav ua rau muaj kev ceeb toom tsuas yog tias checkpatch khiav nrog '-- nruj' kev xaiv. Qhov kev hloov pauv yuav ua rau nws tsis tuaj yeem cuam tshuam cov neeg tsim khoom los ntawm manipulation nrog rau qhov chaw thiab xav tias dawb dua thaum aligning code, thiab yuav tiv thaiv txoj kab ntau dhau, cuam ββtshuam kev nkag siab code thiab tshawb nrhiav.
Ntxiv kev txhawb nqa rau EFI sib xyaw khau raj hom, uas tso cai rau koj thauj khoom 64-ntsis ntsiav los ntawm 32-ntsis firmware khiav ntawm 64-ntsis CPU yam tsis tas siv lub pob tshwj xeeb.
Nyob nrog system rau txheeb xyuas thiab debugging split locks ("cais xauv"), uas tshwm sim thaum nkag mus rau unaligned cov ntaub ntawv nyob rau hauv lub cim xeeb vim lub fact tias thaum ua ib tug atomic qhia, cov ntaub ntawv hla ob CPU cache kab. Qhov kev thaiv zoo li no ua rau muaj kev ua haujlwm tseem ceeb (1000 lub voj voog qeeb dua li kev ua haujlwm atomic ntawm cov ntaub ntawv uas poob rau hauv ib kab cache). Nyob ntawm qhov "split_lock_detect" boot parameter, lub ntsiav tuaj yeem ntes cov xauv li ntawm ya thiab teeb meem ceeb toom lossis xa SIGBUS teeb liab rau daim ntawv thov ua rau lub xauv.
Tus neeg ua haujlwm teem sijhawm muab kev taug qab ntawm qhov ntsuas kub ntsuas (Thermal Siab) thiab siv rau hauv tus account overheating thaum muab cov dej num. Siv cov ntaub ntawv txheeb cais, tus tswv xeev thermal tuaj yeem kho qhov siab tshaj plaws CPU zaus thaum overheated, thiab lub sijhawm ua haujlwm tam sim no suav nrog kev txo qis hauv kev suav lub zog vim qhov txo qis hauv zaus thaum teem sijhawm ua haujlwm (yav dhau los, tus teem sijhawm tau teb rau kev hloov pauv. nyob rau hauv ntau zaus nrog rau qee qhov kev ncua sijhawm, rau qee lub sijhawm txiav txim siab raws li qhov kev xav tau ntawm cov khoom siv suav nrog).
Cov txheej txheem ua haujlwm suav nrog invariant ntsuas load taug qab, tso cai rau koj kom raug kwv yees lub load, tsis hais txog qhov tam sim no CPU kev khiav hauj lwm zaus. Qhov kev hloov pauv tso cai rau koj los kwv yees tus cwj pwm ntawm kev ua haujlwm kom raug raws li cov xwm txheej ntawm kev hloov pauv hauv qhov hluav taws xob thiab CPU zaus. Piv txwv li, ib txoj haujlwm uas siv 1/3 ntawm CPU cov peev txheej ntawm 1000 MHz yuav haus 2/3 ntawm cov peev txheej thaum qhov zaus poob mus rau 500 MHz, uas yav dhau los tsim qhov kev xav tsis tseeb tias nws tau khiav ntawm lub peev xwm (piv txwv li cov haujlwm tshwm sim. loj dua rau tus teem sijhawm tsuas yog txo qhov zaus, uas ua rau muaj kev txiav txim siab tsis raug nyob rau hauv schedutil cpufreq tus tswv xeev).
Tus tsav tsheb Intel P-xeev, uas yog lub luag haujlwm rau xaiv hom kev ua tau zoo, tau hloov mus siv teem sijhawm.
Lub peev xwm los siv BPF subsystem thaum lub kernel khiav hauv lub sijhawm tiag tiag (PREEMPT_RT) tau ua tiav. Yav dhau los, thaum PREEMPT_RT tau qhib, BPF yuav tsum raug kaw.
Ib hom tshiab ntawm BPF program tau raug ntxiv - BPF_MODIFY_RETURN, uas tuaj yeem txuas rau lub luag haujlwm hauv cov ntsiav thiab hloov tus nqi rov qab los ntawm txoj haujlwm no.
Ntxiv sijhawm Siv lub clone3() system hu los tsim cov txheej txheem hauv cgroup uas txawv ntawm niam txiv cgroup, tso cai rau niam txiv cov txheej txheem siv cov kev txwv thiab ua kom cov accounting tam sim tom qab spawning txheej txheem tshiab lossis xov. Piv txwv li, tus thawj tswj kev pabcuam tuaj yeem faib ncaj qha cov kev pabcuam tshiab rau cais cgroups, thiab cov txheej txheem tshiab, thaum muab tso rau hauv "frozen" cgroups, yuav tsum nres tam sim ntawd.
hauv Kbuild ntxiv kev txhawb nqa rau ib puag ncig hloov pauv "LLVM = 1" hloov mus rau Clang / LLVM cov cuab yeej thaum tsim lub kernel. Cov kev cai rau binutils version tau raug tsa (2.23).