
эки ай иштеп кийин, Линус Torvalds берилген ядро чыгаруу Linux 7.1Эң көрүнүктүү өзгөрүүлөрдүн катарында: жаңы ntfsplus драйвери, i486 CPU үчүн колдоону токтотуунун биринчи этабы, эски Ethernet адаптерлерин алып салуу, ISDN жана AX.25 протоколдорун алып салуу, Intel FRED механизмин демейки шартта иштетүү, io_uringде BPF иштеткичтерин колдоо, алмаштыруу тутумун оптималдаштыруу, sched_extте субпландоочуларды колдоо, ublk драйверинде нөлдүк көчүрмө киргизүү/чыгаруу, Btrfsте ioctl операциясын өчүрүү, amd-pstate драйверинде динамикалык аткаруу режимин которуштуруу жана Unix сокеттерин xattr колдоо.
Жаңы версия 17275 2589 иштеп чыгуучунун 57 13528 оңдоосун камтыйт, патчтын көлөмү 751785 Мб (өзгөрүүлөр 405916 15624 файлга таасирин тийгизген, 2477 56 код саптары кошулган, 41 7.1 сап өчүрүлгөн). Акыркы чыгарылышта 12 иштеп чыгуучулардан 14 оңдоолор бар, патчтын көлөмү 5 МБ болгон. 3 киргизилген бардык өзгөртүүлөрдүн XNUMX%га жакыны түзмөктүн драйверлерине байланыштуу, өзгөрүүлөрдүн болжол менен XNUMX%ы аппараттык архитектураларга мүнөздүү кодду жаңыртууга, XNUMX%ы тармактык стекке, XNUMX%ы файл тутумдарына жана XNUMX%ы тиешелүү. ички ядронун подсистемалары менен байланышкан.
7.1 ядросундагы негизги жаңы функциялар (kernelnewbies.org, lwn.net, opennet):
Диск подсистемасы, киргизүү/чыгаруу жана файл системалары
- Курамга кабыл алынган жаңы ишке ашыруу NTFS файл системасы — ntfsplus, классикалык ntfs драйверинин кодуна негизделген, ал ядродон алынып салынган. Эски драйвер кайра иштелип чыгып, маалыматтарды жазуу мүмкүнчүлүктөрү менен кеңейтилип, заманбап функцияларды, мисалы, ... колдонууну колдоого ылайыкташтырылган. эстутум барактарынын фолиолору (folios) buffer_head түзүмүнүн ордуна колдонулат. Жаңы драйвер жалкоо блокторду бөлүштүрүүнү ишке ашырат, бул жогорку жазуу өндүрүмдүүлүгүн жана фрагментацияны азайтууга мүмкүндүк берет. Китепкана буферленген окуу/жазуу операциялары, түз киргизүү/чыгаруу, кеңейтилген картага түшүрүү жана баракчаланган окуу/жазуу операциялары үчүн колдонулат. iomapIozone тесттеринде ntfsplus драйвери бир жиптүү режимде жазганда ntfs3кө караганда 3-5% тезирээк, ал эми 4 жипти колдонгондо 35-110% тезирээк болгон. ntfsplus жана ntfs3 окуу ылдамдыгы болжол менен бирдей. ntfs3 драйвери ядродо калат жана ага киргизилген. тааныштырды түзөтүүлөр жана анча чоң эмес жакшыртуулар.
- Бүтүндүктү текшерүү маалыматтарын түзүү жана текшерүү үчүн колдоо кошулду T10 (deepwiki.com) блок түзмөгүнүн деңгээлинде эмес, файл системасы деңгээлинде, бул окуу операцияларынын иштешин жакшыртууга мүмкүндүк берет.
- Блок түзмөгүнүн драйверинде ublk, бул белгилүү бир логиканы колдонуучу мейкиндигинин процесс тарабына жылдырууга мүмкүндүк берет, кошулду буферлердин ортосунда маалыматтарды көчүрбөстөн, жалпы эс тутум аркылуу киргизүү/чыгаруу үчүн колдоо (нөлдүк көчүрмө режими).
- Өзүн-өзү шифрлөөчү блок түзмөктөрү үчүн СЕД-ОПАЛ кошулду режимди башкаруу үчүн ioctl Жалгыз колдонуучу жана STACK_RESET буйругу ишке ашырылды.
- Btrfs ioctl өчүрүү операциясын туруктуу колдоону жарыялады, бул файл системасына мурунтан эле иштеп жаткан операцияларды аяктоого аракет кылынган, бирок бардык жаңы операциялар бөгөттөлгөн абалга кирүүгө мүмкүндүк берет.
- exfat бош жерлерди резервдөө мүмкүнчүлүгүн fallocate() функциясын чакыруу менен ишке ашырат.
- CIFS файл системасы эми O_TMPFILE желеги менен убактылуу файлдарды түзүүнү колдойт.
- Системалык чалууда fsmount() FSMOUNT_NAMESPACE опциясы кошулуп, орнотулган файл системасы үчүн жаңы орнотуу чекитинин аталыш мейкиндиги түзүлдү. DAX (Түз мүмкүндүк алуу) түзмөктөрүнө орнотулган, бош, nullfs негизиндеги файл системасынын stub жана файл системасынын интерфейси бар fs-dax драйверин гана камтыган жаңы орнотуу чекитинин аталыш мейкиндигин кайтаруу үчүн clone3() жана unshare() системалык чакырууларына желекчелер кошулду.
- NFS серверине кошулду Файл дескрипторлоруна карата күч колдонуу менен жасалган чабуулдардан коргоо дескрипторлорду криптографиялык кол тамга менен сертификациялоо аркылуу ишке ашырылат. Бул коргоо sign_fh mount опциясы аркылуу иштетилет.
- Кошулган fs-dax символ драйвери, ал түзмөктөр менен өз ара аракеттенүү үчүн интерфейсти камсыз кылат DAX (kernel.org) (Түз мүмкүндүк алуу), алар барак кэшин айланып өтүүнү колдойт. Бул интерфейс файл системасынын ядросуна интеграциялоо үчүн зарыл. фамфтар, RAMда жайгашкан.
- Ceph файл системасында ишке ашырылган бөлүмчөлөргө байланышкан киргизүү/чыгаруу метрикаларынын жыйнагы.
Эстутум жана система кызматтары
- Кабыл алынды i486 процессорлорун колдоону алып салуу боюнча биринчи сериядагы өзгөртүүлөр. 486DX, 486SX жана AMD ELAN процессорлорун (CONFIG_M486, CONFIG_M486SX жана CONFIG_MELAN) колдогон ядрону куруу параметрлери Kconfigтен алынып салынды, ал эми i486 системалары үчүн компиляция параметрлери (-march=i486) Makefileден алынып салынды. i486 процессорлорун колдоо үчүн чыныгы код дагы эле ядродо, бирок мындай системаларды куруу эми makefile'дарга патчтарды талап кылат. i486 процессорлорун колдоону алып салуунун себептери CX8 (8 байт салыштыруу жана алмашуу) жана TSC (тапшырмаларды пландаштыргычта колдонулган CPU циклинин эсептегичи) сыяктуу кээ бир аппараттык операцияларды эмуляциялаган татаал коддон ядрону арылуу каалоосуна байланыштуу.
- AMD процессорлору бар системаларда кубаттуулукту башкаруу үчүн колдонулган amd-pstate драйверинде, ишке ашырылган Түзмөк кубат булагында же батареяда иштеп жатканына жараша иштөө жөндөөлөрүн динамикалык түрдө которуштурат жана кубаттуулукту башкаруу жүрүм-турумун өзгөртөт. Кубат булагына туташтырылганда, эми иштөө режими иштетилет, ал эми батареяда иштеп жатканда balance_performance режими иштетилет.
- Механизм демейки шартта иштетилет Intel FRED (Ийкемдүү кайтаруу жана окуяны жеткирүү), бул төмөнкү деңгээлдеги окуяларды жеткирүүнүн натыйжалуулугун жана ишенимдүүлүгүн жогорулатат. Иштин натыйжалуулугун жакшыртуу жана кечигүүнү азайтуу окуяларды Үзгүлтүккө учуратуучу дескриптор таблицасы (IDT) аркылуу өткөрүүнүн ордуна IRET процессорунун көрсөтмөсүн колдонуп кайтаруу менен ишке ашат. Ишенимдүүлүктүн жогорулашына ядродо жана колдонуучу контексттеринде окуяларды кабыл алууну иштетүүнү бөлүү, ички NMI аткарылышынан коргоо жана бардык өзгөчө кырдаалдарга байланыштуу CPU регистрлерин кеңейтилген стек кадрында сактоо аркылуу жетишилет.
- Perf подсистемасында кошулду NVIDIA Tegra410 SoCде колдонулган эс тутумдун иштешин көзөмөлдөөчү түзүлүштөрдү (PMU) колдоо.
- ARM системаларындагы Futex операциялары Arm 9.6 LSUI көрсөтмөлөрүн колдонуу менен тездетилди, бул ядрого коопсуз режимди өчүрбөстөн колдонуучу мейкиндигинин эс тутумуна кирүүгө мүмкүндүк берет. PAN (arm.com) (Артыкчылыктуу мүмкүндүк алуу эч качан).
- ARM негизиндеги системаларда Инструкциялар топтомунун архитектурасынын кеңейтүүсүн колдоо жакшыртылды. MPAM (Эс тутумунун ресурстарын бөлүү жана мониторинг жүргүзүү) жана аны колдонуучу мейкиндигинде механизм аркылуу ресурстарды башкаруу үчүн колдонуу мүмкүнчүлүгү кошулду реструктуризацияMPAM ар бир эс тутумга кирүү мүмкүнчүлүгүн Бөлүм ID (PARTID) жана Мониторинг тобунун ID (PMG) менен белгилейт. PARTIDди колдонуу менен, бир топ тапшырмалардын бардык ресурстарды керектешине жол бербөө үчүн, эс тутумдун өткөрүү жөндөмдүүлүгү же кэштин өлчөмү сыяктуу ресурстарды керектөөнү чектей аласыз. Мониторинг контекстинде, белгилүү бир жумуш жүктөмдөрүнүн астында эс тутумдун керектелишин көзөмөлдөө үчүн PMG жана PARTID айкалышын колдонсо болот.
- Кошулган 32-биттик ARM процессорлорунда реалдуу убакыт режимин (PREEMPT_RT) колдонуу мүмкүнчүлүгү. Буга чейин PREEMPT_RT колдоосу x86 жана x86-64, ARM64, RISC-V жана LoongArch архитектуралары үчүн берилген.
- Системалык чалууда клон3() жаңы желектер кошулду: CLONE_NNP — тыйуу салуу түзүлгөн процессте жаңы артыкчылыктарды алуу; CLONE_AUTOREAP — ата-энелик процесс wait() функциясын аткарганга чейин процессти зомби процессине айландыруунун ордуна, аны автоматтык түрдө токтотуу; CLONE_PIDFD_AUTOKILL — эгерде ага байланыштуу pidfd дескриптору жабылган болсо (мисалы, ата-энелик процесс аяктаганда), балалык процессти токтотуу.
- Ар бир ядро модулу үчүн import_ns деп аталган файл /sys/module каталогуна кошулуп, импорттолгон символдук аталыш мейкиндиктеринин тизмесин камтыйт (символдук аталыштар мейкиндиги).
- io_uring асинхрондук киргизүү/чыгаруу системасы эми иштетүүчүлөрдү түзүү үчүн BPF ички системасын колдонууну колдойт. Мисалы, негизги диспетчердик циклди BPF программасы менен алмаштырууга болот.
- BPF подсистемасында модернизацияланган стек колдонууну талдоо, бул көптөгөн BPF программаларын текшерүүчү тарабынан текшерүүнү бир топ тездетти.
- Аткарууну оптималдаштыруу үчүн кайра жазылган hrtimer (жогорку чечилиштеги таймер) кичи системасы. Тапшырмаларды пландаштыргыч эми тактыгы төмөн таймерлердин ордуна жогорку чечилиштеги таймерлерди иштей албай калат.
- уланды Rust-for- bundagдан өзгөрүүлөрдү көчүрүүLinux, драйверлерди жана ядро модулдарын иштеп чыгуу үчүн Rust тилин экинчи тил катары колдонууга байланыштуу (Rust колдоосу демейки шартта активдүү эмес жана Rust ядро үчүн милдеттүү түрдө курулган көз карандылыктардын тизмесине киргизилбейт). 1.85 версиясына чейин (жеткирилген күнү Debian 13) Ядро компоненттерин түзүү үчүн талап кылынган Rust версиясына талаптар жогорулатылды. Компиляция учурунда C интерполяцияларын Rust кодуна киргизүү үчүн эксперименталдык Kconfig CONFIG_RUST_INLINE_HELPERS опциясы кошулду (бул оптималдаштыруу null блок драйверинин иштешин 2% га жакшыртты). 'const_assert!' макросу кошулду. Sizes, clk, ptr, sync жана error модулдарынын мүмкүнчүлүктөрү кеңейтилди.
- Механизмге SCHED_EXT, бул BPFти колдонуп, CPU пландаштыргычтарын түзүүгө мүмкүндүк берет, кошулду Ар бир топтун өзүнүн тапшырма пландаштыргычына ээ болушуна мүмкүндүк берген подпландоочуларды түзүүнүн баштапкы мүмкүнчүлүгү.
- Swap подсистемасын оптималдаштыруу улантылды. Эски swap_map түзүмү алынып салынып, анын ордуна "Алмашуу стол"Бул өзгөртүү пейджинг кичи системасында иштин натыйжалуулугун жакшыртып, эс тутумду керектөөнү азайтты."
- Кичи системага Дэймон (Маалыматтарга жетүү монитору), ал сизге процесстин RAMдагы маалыматтарга жетүү мүмкүнчүлүгүн көзөмөлдөөгө мүмкүндүк берет (мисалы, процесс кайсы эс тутум аймактарына киргенин жана кайсы эс тутум аймактары талап кылынбаган бойдон калганын биле аласыз), кошулду ар кандай автоматтык алгоритмдерди колдоо тюнинг квоталар.
- Издөө тутумунда ишке ашырылган Виртуалдык машиналардан издөө маалыматтарын алууга мүмкүндүк берген тышкы шакекче буферлеринин концепциясы. Бул функция KVMде жана nVHE конок системасынан хост тарабына көзөмөлдөө маалыматтарын өткөрүп берүү.
- Кичи системага RV (kernel.org) (Иштөө убактысын текшерүү), жогорку ишенимдүү системалардын туура иштешин текшерүү үчүн иштелип чыккан, мониторинг компоненттери кошулду.короо"убактылуу токтотулган же бөгөттөлгөн тапшырмаларды көзөмөлдөө үчүн жана"мөөнөтү» тапшырмаларды пландаштыргычтын жүрүм-турумун талдоо үчүн.
Виртуалдаштыруу жана коопсуздук
- Демейки боюнча, PROC_MEM_FORCE_PTRACE желеги коюлган, ал файл аркылуу эс тутумду иштетүүгө кирүү укуктарын айланып өтүүгө мүмкүндүк берет. /proc/PID/мем ptrace() системалык чакыруусун мүчүлүштүктөрдү оңдоо үчүн колдонгон процесстер үчүн гана.
- Кошулган LSM модулдары үчүн жаңы илгичтер топтому (Linux Коопсуздук модулу), ал overlayfs сыяктуу стек негизиндеги файл системалары үчүн саясаттарды ишке ашырууну жөнөкөйлөштүрөт. LSM ошондой эле кошулду Unix сокеттерине кирүүнү башкаруу үчүн илгич, ал тартылган Unix сокеттерине кирүү саясаттарын дайындоо үчүн Landlock LSM модулунда.
- Орнотулган крипто китепканасында lib/crypto, ал салттуу крипто APIге караганда жөнөкөй жана тез функцияларды камсыз кылат, кошулду AES-CMAC, AES-XCBC-MAC, AES-CBC-MAC, GHASH жана SM3 алгоритмдерин колдоо кошулду. документтер lib/crypto тарабынан.
- Режим ишке ашырылды pKVM Катуу изоляция үчүн (корголгон KVM) анонимдүү эс AArch64 архитектурасы үчүн виртуалдаштыруу кеңейтүүлөрүн колдонуу. Бул режимде конок эс тутумунун баракчалары хост системасынын виртуалдык даректер таблицасынан чыгарылат.
- KVM гипервизоруна колдоо кошулду бешинчи версия ARM виртуалдык жалпы үзгүлтүккө учуроо контроллери v5 (VGICv5).
Тармактык подсистема
- socket() функциясы тарабынан түзүлгөн unix сокеттери үчүн, ишке ашырылган Кеңейтилген файл атрибуттарын (xattr) колдонуучу үчүн колдоо.*. Колдонмолорго Varlink IPC үчүн колдонулган Unix сокеттерине кеңейтилген атрибуттар аркылуу белги коюу кирет, бул аларды IPC операцияларын текшерүү жана мүчүлүштүктөрдү оңдоо үчүн BPF программаларын колдонуу менен жалпы IPC чөйрөсүнөн айырмалоого мүмкүндүк берет. systemd-journald файлында кеңейтилген атрибуттар /dev/log сокети үчүн журнал форматын аныктоо үчүн колдонулат.
- Жок кылынды UDP-Lite протоколун колдоо (RFC 3828), ал туура эмес текшерүү суммасы менен пакеттерди жеткирүүгө мүмкүндүк берет, мисалы, жарым-жартылай бузулган аудио жана видео маалыматтар кодек деңгээлинде калыбына келтирилиши мүмкүн деген күтүү менен. Протокол эч ким колдонбогондуктан алынып салынган.
- Өчүрүлдү IPv6 стегин ядро модулу катары түзүү мүмкүнчүлүгү, ал иш жүзүндө колдонулган эмес (IPv6 ядрого орнотулган же толугу менен өчүрүлгөн), бирок тейлөөнү татаалдаштырат, анткени IPv6 ядро модулу катары түзүлгөндө (CONFIG_IPV6=m), көптөгөн чакан системалар IPv6 модулу жүктөлбөй калган учурда пайдасыз иштетүүчүлөрдү кошууга аргасыз болушат.
Жабдуулар
- AMDGPU драйверинде күйгүзүлгөн AMD HD 7000 сериясындагы APU'лар (Sea Islands, GCN 1.1) үчүн жаңы дисплей кыймылдаткычы (DC).
- Nouveau айдоочу кошулду Ampere микроархитектурасына негизделген NVIDIA GA100 GPUлары үчүн баштапкы колдоо.
- Intel Xe архитектурасына негизделген GPUлар үчүн Xe DRM (Direct Rendering Manager) драйверинин үстүндө иштөө улантылды, ал Tiger Lake процессорлорунан баштап, Intel Arc сериясындагы графикалык карталарда жана интеграцияланган графикада колдонулат. Intel Nova Lake-P процессорлорунун графикалык кичи системасын колдоо кошулду. Purgeable Buffer Objects ишке ашырылды.
- Биз Turing микроархитектурасына негизделген NVIDIA GeForce RTX 2000 сериясынан бери колдонулган GSP микропрограммасы менен жабдылган NVIDIA GPUлары үчүн Nova драйвер компоненттерин интеграциялоону уланттык. Драйвер Rust тилинде жазылган. Turing микроархитектурасына негизделген GPUлар үчүн баштапкы колдоо кошулду.
- Кошулган DRM драйвери негизги жүктөөчү каражат CoreBoot негизиндеги микропрограмманын кадр буфери аркылуу графикалык чыгаруу үчүн.
- Кошулган Төмөнкү ASoC'лорду колдоо: AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP жана WM8962. USB аудио түзмөктөрүн колдоо жакшыртылды: Huawei Headset, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow, PreSonus AudioBox, Moondrop Ju Jiu жана Scarlett 18i20.
- Кошулган Lenovo Yoga, Legion жана IdeaPad ноутбуктарындагы желдеткичтин ылдамдыгын көзөмөлдөө үчүн Yogafan драйвери.
- Кошулган ARM платаларын, SoCлерди жана түзмөктөрдү колдоо: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 жана ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
- Жок кылынды Baikal-T1 SoC'до колдонулган AHCI SATA жана PCIe контроллерлерин, ошондой эле таймер, эс тутум, физмап, шина, hwmon, dwc жана bt1-rom үчүн драйверлерди колдоо. Алып салуунун себеби - колдоонун жоктугу жана Байкал платформасынын компоненттеринин өзөккө толук интеграцияланбагандыгы, анткени Орусияда өндүрүш 2025-жылдын ноябрында токтогон.
- Өчүрүлдү ISA жана PCMCIA интерфейстери бар Ethernet түзмөктөрү үчүн 2002-жылга чейин чыгарылган, аларды өндүрүштүк системаларда колдонгон колдонуучулар табылган эмес 12 драйвер. Isdn, протоколду ишке ашыруу AX.25, CAIF жана Bluetooth CMTP (Common ISDN Application Programming Interface Message Transport Protocol), yellowfin (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Amatör Radio) драйверлери, inport жана logibm (busmouse). Алып салуунун себеби, syzbot жана AI куралдары тарабынан аныкталган каталардын көбөйүшүнүн алкагында активдүү тейлөөчүлөрдүн жоктугу болгон. Аларды оңдоо милдетин эч ким өзүнө албайт жана олуттуу көйгөйлөрдү оңдоонун бардык түйшүгү ядронун өзөктүк тармактык тутумдарынын тейлөөчүлөрүнө жүктөлөт. Жалпысынан 140 000ден ашык код саптары алынып салынган.
Source: linux.org.ru
