Tightened tiv thaiv kev siv GPL cov khaubncaws sab nraud povtseg rau kev sib txuas cov neeg tsav tsheb uas muaj cov khoom lag luam xa tawm tsuas yog rau cov qauv hauv qab daim ntawv tso cai GPL. Tus chij TAINT_PROPRIETARY_MODULE tam sim no tau txais qub txeeg qub teg hauv txhua lub modules uas import cov cim los ntawm cov modules nrog tus chij no. Yog tias GPL module sim xa cov cim los ntawm qhov tsis yog-GPL module, tom qab ntawd GPL module yuav tau txais TAINT_PROPRIETARY_MODULE daim ntawv lo thiab yuav tsis tuaj yeem nkag mus rau kernel Cheebtsam muaj tsuas yog rau GPL-tsim modules, txawm tias lub module tau dhau los ua cov cim los ntawm qeb "gplonly". Lub xauv rov qab (tsuas yog xa tawm EXPORT_SYMBOL_GPL nkaus xwb hauv cov qauv uas tau xa tawm EXPORT_SYMBOL_GPL), uas tuaj yeem ua txhaum txoj haujlwm ntawm tus tswv tsav tsheb, tsis raug siv (tsuas yog tus chij tus tswv tau txais txiaj ntsig, tab sis tsis yog GPL khi).
Ntxiv kcompactd cav txhawb rau ua ntej ntim cov nplooj ntawv nco nyob rau hauv keeb kwm yav dhau los ua kom cov nplooj ntawv nco loj muaj nyob rau hauv lub kernel. Raws li kev kwv yees ua ntej, ntim tom qab, ntawm tus nqi ntawm cov nyiaj siv ua haujlwm tsawg tsawg, tuaj yeem txo qhov qeeb thaum faib cov nplooj ntawv loj (nplooj loj) los ntawm 70-80 zaug piv rau cov txheej txheem ntim khoom siv yav dhau los, tau pib thaum qhov xav tau tshwm sim (on-demand ). Txhawm rau teeb tsa cov ciam teb ntawm kev sib cais sab nraud uas kcompactd yuav muab, sysctl vm.compaction_proactiveness tau ntxiv.
Kev them nyiaj yug rau cov lus qhia processor tau siv rau x86 systems FSGSBASE, uas tso cai rau koj nyeem thiab hloov cov ntsiab lus ntawm FS / GS sau npe los ntawm cov neeg siv qhov chaw. Hauv cov ntsiav, FSGSBASE yog siv los ua kom ceev cov ntsiab lus hloov pauv kev ua haujlwm los ntawm kev tshem tawm cov haujlwm tsis tsim nyog MSR sau rau GSBASE, thiab hauv cov neeg siv qhov chaw nws zam qhov tsis tsim nyog hu los hloov FS / GS.
Ntxiv qhov "allow_writes" parameter tso cai rau koj txwv tsis pub hloov pauv ntawm tus txheej txheem MSR sau npe los ntawm cov neeg siv chaw thiab txwv tsis pub nkag mus rau cov ntsiab lus ntawm cov ntawv sau npe no los nyeem cov haujlwm, vim tias hloov MSR tuaj yeem ua rau muaj teeb meem. Los ntawm lub neej ntawd, kev sau ntawv tseem tsis tau raug kaw, thiab kev hloov pauv rau MSR tau cuam tshuam hauv lub cav, tab sis yav tom ntej nws tau npaj los hloov qhov kev nkag mus rau hom nyeem nkaus xwb.
Mus rau asynchronous I / O interface io_ kev Ntxiv kev txhawb nqa tag nrho rau asynchronous buffered nyeem cov haujlwm uas tsis xav tau cov xov xov. Cov ntaubntawv povthawj siv yuav tsum nyob rau yav tom ntej tso tawm.
Nyob rau hnub kawg ntawm I/O teem sijhawm ua raws kev npaj raws li kev muaj peev xwm, tso cai txiav txim siab kom raug ntawm cov tshuab asymmetric xws li ARM-based systems DynamIQ thiab big.LITTLE, uas ua ke muaj zog thiab tsis tshua muaj zog-npaum CPU cores hauv ib nti. Tshwj xeeb, hom tshiab tso cai rau koj kom tsis txhob teem sijhawm tsis sib haum thaum lub CPU qeeb qeeb tsis muaj cov peev txheej tsim nyog los ua kom tiav cov haujlwm raws sijhawm.
Cov qauv siv hluav taws xob hauv cov ntsiav (Energy Model moj khaum) yog tam sim no piav qhia tsis yog CPU siv hluav taws xob nkaus xwb, tab sis kuj suav nrog cov khoom siv peripheral.
Close_range() system hu tau raug siv los tso cai rau cov txheej txheem kaw tag nrho ntawm qhib cov ntaub ntawv piav qhia ib zaug.
Los ntawm kev siv cov ntawv nyeem console thiab tus tsav tsheb fbcon code tshem tawm, uas muab lub peev xwm rau programmatically scroll ntawv rov qab (CONFIG_VGACON_SOFT_SCROLLBACK) los ntawm ntau tshaj li VGA ntawv nyeem hom video nco.
Rov ua dua algorithm rau muab qhov tseem ceeb rau cov xov hauv lub kernel. Qhov kev xaiv tshiab muab qhov zoo sib xws thoob plaws txhua lub hauv paus subsystems thaum muab qhov tseem ceeb rau cov haujlwm hauv lub sijhawm.
Ntxiv sysctl sche_uclamp_util_min_rt_default los tswj CPU boost chaw rau cov hauj lwm ntawm lub sij hawm (piv txwv li, koj tuaj yeem hloov tus cwj pwm ntawm cov haujlwm tiag tiag ntawm lub sijhawm ya kom txuag hluav taws xob tom qab hloov mus rau lub roj teeb lossis ntawm lub xov tooj ntawm tes).
Ntxiv tshiab muaj peev xwm chij CAP_CHECKPOINT_RESTORE, uas tso cai rau koj los muab kev nkag mus rau lub peev xwm cuam tshuam nrog kev khov thiab kho lub xeev ntawm cov txheej txheem yam tsis hloov cov cai ntxiv.
GCC 11 muab tag nrho cov yam ntxwv koj xav tau
debugging cuab tam KCSAN (Kernel Concurrency Sanitizer), tsim los dynamically ntes haiv neeg tej yam kev mob nyob rau hauv lub kernel. Yog li, KCSAN tam sim no tuaj yeem siv nrog cov ntsiav ua hauv GCC.
Rau AMD Zen thiab tshiab CPU qauv ntxiv kev txhawb nqa rau P2PDMA thev naus laus zis, uas tso cai rau koj siv DMA rau kev hloov cov ntaub ntawv ncaj qha ntawm lub cim xeeb ntawm ob lub cuab yeej txuas nrog lub npav PCI.
Ib hom tau ntxiv rau dm-crypt uas tso cai rau koj txo qis latency los ntawm kev ua cov ntaub ntawv cryptographic yam tsis tau siv cov kab ua haujlwm. Hom no tseem tsim nyog rau kev ua haujlwm raug nrog zoned thaiv cov cuab yeej (cov khoom siv nrog thaj chaw uas yuav tsum tau sau ua ntu zus, hloov kho tag nrho pawg ntawm cov blocks). Kev ua haujlwm tau ua tiav txhawm rau ua kom dhau los thiab txo latency hauv dm-crypt.
Tshem tawm code los txhawb 32-ntsis qhua khiav hauv paravirtualization hom khiav Xen hypervisor. Cov neeg siv ntawm cov tshuab no yuav tsum hloov mus siv 64-ntsis kernels nyob rau hauv ib puag ncig qhua lossis siv tag nrho (HVM) lossis ua ke (PVH) virtualization hom es tsis txhob paravirtualization (PV) los khiav ib puag ncig.
Disk subsystem, I / O thiab cov ntaub ntawv systems
Ntawm Btrfs file system ua raws ib qho "rescue" mount kev xaiv uas koom ua ke nkag mus rau tag nrho lwm cov kev xaiv rov qab. Kev them nyiaj yug rau "alloc_start" thiab "subvolrootid" kev xaiv tau raug tshem tawm, thiab "inode_cache" kev xaiv tau raug txiav tawm. Kev ua tau zoo ntawm kev ua tau zoo tau ua tiav, tshwj xeeb tshaj yog ua kom nrawm rau kev ua tiav ntawm fsync() kev ua haujlwm. Ntxiv muaj peev xwm siv lwm hom checksums uas tsis yog CRC32c.
Ntxiv muaj peev xwm siv inline encryption (Inline Encryption) hauv ext4 thiab F2FS cov ntaub ntawv kaw lus, kom pab tau qhov "inlinecrypt" mount xaiv tau muab. Inline encryption hom tso cai rau koj siv cov txheej txheem encryption tsim rau hauv tus tswj tsav, uas ua kom pom tseeb thiab txiav txim siab tawm tswv yim / tawm.
Hauv XFS ruaj ntseg inode pib dua (flush) nyob rau hauv ib tug kiag li asynchronous hom uas tsis thaiv cov txheej txheem thaum ua ib tug nco tu lub lag luam. Tau daws qhov teeb meem ntev ntev uas ua rau muaj kev txwv tsis pub muag thiab inode txwv cov lus ceeb toom tsis raug. Kev sib koom ua ke ntawm DAX kev txhawb nqa rau ext4 thiab xfs.
Hauv Ext4 ua raws preload block faib bitmap. Ua ke nrog txwv kev soj ntsuam ntawm cov pab pawg tsis tsim nyog, qhov kev ua kom zoo txo ββqis lub sijhawm xav tau los txhim kho cov kev faib loj heev.
Hauv F2FS ntxiv ioctl F2FS_IOC_SEC_TRIM_FILE, uas tso cai rau koj siv TRIM / pov tseg cov lus txib kom rov pib dua cov ntaub ntawv teev tseg hauv cov ntaub ntawv, piv txwv li, tshem tawm cov yuam sij nkag yam tsis tau tso cov ntaub ntawv seem ntawm lub tsav.
Hauv F2FS thiab ntxiv hom khib nyiab tshiab GC_URGENT_LOW, uas ua haujlwm hnyav dua los ntawm kev tshem tawm qee qhov kev kuaj xyuas kom nyob hauv lub xeev tsis ua haujlwm ua ntej pib tus neeg khaws khib nyiab.
Hauv bcache, lub thoob_size rau ntau ntxiv tau nce los ntawm 16 mus rau 32 cov khoom hauv kev npaj rau kev ua kom cov khoom siv zoned caches.
Lub peev xwm los siv inline encryption raws li kev tsim kho vajtse encryption muab los ntawm UFS controllers tau ntxiv rau SCSI subsystem (universal-flash-cia).
Ib qho tshiab kernel hais kom ua kab parameter "debugfs" tau ntxiv, uas tso cai rau koj los tswj qhov muaj ntawm pseudo-FS ntawm tib lub npe.
Rau PowerPC architecture, kev txhawb nqa rau spinlock queues tau siv, uas tau txhim kho kev ua tau zoo hauv cov xwm txheej tsis sib haum xeeb.
Rau ARM thiab ARM64 architectures, processor zaus tswj mechanism yog enabled los ntawm lub neej ntawd teem sijhawm (cpufreq tus tswv xeev), uas ncaj qha siv cov ntaub ntawv los ntawm cov neeg ua haujlwm teem sijhawm los txiav txim siab hloov qhov zaus thiab tuaj yeem nkag mus rau cpufreq cov tsav tsheb tam sim ntawd kom hloov pauv sai sai, kho tam sim ntawm CPU kev ua haujlwm tsis ua haujlwm rau lub sijhawm tam sim no.
Tus tsav tsheb i915 DRM rau Intel graphics phaib suav nrog kev txhawb nqa rau chips raws li microarchitecture Pob Zeb Pob Zeb thiab ntxiv kev txhawb nqa thawj zaug rau daim npav tsis sib xws Intel Xe DG1.
Interestingly, tus tsav tsheb rau AMD GPU nws yog tus tsav tsheb loj tshaj plaws hauv cov ntsiav - nws muaj txog 2.71 lab kab ntawm cov lej, uas yog kwv yees li 10% ntawm tag nrho cov ntsiav loj (27.81 lab kab). Nyob rau tib lub sijhawm, 1.79 lab kab tau suav nrog los ntawm cov ntaub ntawv tau tsim tawm header nrog cov ntaub ntawv rau GPU cov npe, thiab C code yog 366 txhiab kab (rau kev sib piv, Intel i915 tsav tsheb suav nrog 209 txhiab kab, thiab Nouveau - 149 txhiab).
Hauv Nouveau tsav tsheb ntxiv kev them nyiaj yug rau cov ncej-by-frame kev kuaj xyuas siv CRC (Cyclic Redundancy Checks) hauv NVIDIA GPU zaub xyaw. Qhov kev siv yog raws li cov ntaub ntawv muab los ntawm NVIDIA.
Ntxiv cov tsav tsheb rau LCD panels: Frida FRD350H54004, KOE TX26D202VM0BWA, CDTech S070PWS19HP-FC21, CDTech S070SWV29HG-DC44, Tianma TM070JVHG33 and Xingbangda X.
ALSA audio subsystem txhawb nqa Intel Silent Stream (nruam lub hwj chim hom rau sab nraud HDMI pab kiag li lawm kom tshem tawm qeeb thaum pib playback) thiab tshiab ntaus ntawv los tswj lub teeb pom kev ntawm lub microphone ua kom lub suab nrov thiab lub suab nrov, thiab tseem ntxiv kev txhawb nqa rau cov cuab yeej tshiab, suav nrog tus tswj hwm Longson 7A1000.
Ntxiv kev txhawb nqa rau ARM boards, pab kiag li lawm thiab platforms: Pine64 PinePhone v1.2, Lenovo IdeaPad Duet 10.1, ASUS Google Nexus 7, Acer Iconia Tab A500, Qualcomm Snapdragon SDM630 (siv hauv Sony Xperia 10, 10 Plus, XA2, XA2 Plus thiab XA2 Ultra), Jetson Xavier NX, Amlogic WeTek Core2, Aspeed EthanolX, tsib boards tshiab raws li NXP i.MX6, MikroTik RouterBoard 3011, Xiaomi Libra, Microsoft Lumia 950, Sony Xperia Z5, MStar, Microchip Sparx5, Intel Keem Bay, Amazon Alpine v3, Renesas RZ/G2H.
Tib lub sijhawm, Latin American Free Software Foundation tsim
kev xaiv kernel dawb kiag li 5.9 - Linux-libre 5.9-gnu, tshem tawm cov firmware thiab cov ntsiab lus tsav tsheb uas muaj cov khoom tsis pub dawb lossis cov lej code, qhov kev txwv uas txwv los ntawm cov chaw tsim khoom. Qhov kev tso tawm tshiab no cuam tshuam blob thauj khoom hauv cov tsav tsheb rau WiFi rtw8821c thiab SoC MediaTek mt8183. Hloov kho blob tu code hauv Habanalabs, Wilc1000, amdgpu, mt7615, i915 CSR, Mellanox mlxsw (Spectrum3), r8169 (rtl8125b-2) thiab x86 touchscreen drivers thiab subsystems.