Linux 5.17 ядросунун чыгарылышы

Эки айлык иштеп чыгуудан кийин Линус Торвалдс Linux ядросунун 5.17. Эң көрүнүктүү өзгөрүүлөрдүн арасында: AMD процессорлору үчүн жаңы өндүрүмдүүлүктү башкаруу системасы, файл тутумдарында колдонуучунун идентификаторлорун рекурсивдүү картага алуу мүмкүнчүлүгү, портативдик компиляцияланган BPF программаларын колдоо, псевдо-кокус сандар генераторунун BLAKE2s алгоритмине өтүшү, RTLA утилитасы. реалдуу убакытта аткарылышын талдоо үчүн, тармак файл тутумдарын кэштөө үчүн жаңы fscache сервери, анонимдүү mmap операцияларына аттарды тиркөө мүмкүнчүлүгү.

Жаңы версия 14203 иштеп чыгуучунун 1995 37 оңдоосун камтыйт, патчтын көлөмү 11366 Мб (өзгөрүүлөр 506043 250954 файлга таасирин тийгизген, 44 5.17 код саптары кошулган, 16 15 сап өчүрүлгөн). 4де киргизилген бардык өзгөртүүлөрдүн 4%га жакыны түзмөктүн драйверлерине тиешелүү, өзгөрүүлөрдүн болжол менен XNUMX%ы аппараттык архитектураларга мүнөздүү кодду жаңыртууга, XNUMX%ы тармактык стекке, XNUMX%ы файлдык системаларга жана XNUMX%ы. ички ядронун подсистемалары менен байланышкан.

5.17 ядросундагы негизги инновациялар:

  • Диск подсистемасы, киргизүү/чыгаруу жана файл системалары
    • Орнотулган файлдык тутумдардын колдонуучу идентификаторлорунун уяча картасын түзүү мүмкүнчүлүгү ишке ашырылган, ал орнотулган чет өлкөлүк бөлүмдөгү белгилүү бир колдонуучунун файлдарын учурдагы системадагы башка колдонуучу менен салыштыруу үчүн колдонулат. Кошумча функция сизге картографиялоо мурунтан эле колдонулган файл тутумдарынын үстүндө рекурсивдүү түрдө картаны колдонууга мүмкүндүк берет.
    • Тармактык файл системалары аркылуу берилүүчү маалыматтардын локалдык файлдык тутумунда кэшин уюштуруу үчүн колдонулган fscache подсистемасы толугу менен кайра жазылган. Жаңы ишке ашыруу кодекстин олуттуу жөнөкөйлөштүрүлүшү жана объектинин абалын пландоо жана көзөмөлдөөнүн татаал операцияларын жөнөкөй механизмдер менен алмаштыруу менен айырмаланат. Жаңы fscache үчүн колдоо CIFS файл тутумунда ишке ашырылат.
    • Fanotify FSдеги окуяга көз салуу подсистемасы жаңы окуя түрүн, FAN_RENAME ишке ашырат, ал файлдардын же каталогдордун атын өзгөртүү операциясына дароо бөгөт коюуга мүмкүндүк берет (мурда эки өзүнчө окуя FAN_MOVED_FROM жана FAN_MOVED_TO аталышын өзгөртүү үчүн колдонулган).
    • Btrfs файл тутуму чоң каталогдор үчүн журналдарды жана fsync операцияларын оптималдаштырды, алар индекс ачкычтарын гана көчүрүү жана журналга киргизилген метаберилиштердин санын азайтуу аркылуу ишке ашырылат. Бош мейкиндик жазууларынын өлчөмү боюнча индекстөө жана издөө үчүн колдоо көрсөтүлдү, бул күтүү убактысын болжол менен 30% га кыскартты жана издөө убактысын кыскартты. Дефрагментация операцияларын үзгүлтүккө учуратууга уруксат берилет. Дисктердин ортосунда баланстоодо түзмөктөрдү кошуу мүмкүнчүлүгү өчүрүлгөн, б.а. skip_balance опциясы менен файл тутумун орнотууда.
    • IP даректерин байланыштыруу менен байланышкан көйгөйлөрдү чечүү үчүн Ceph файл тутумун орнотуу үчүн жаңы синтаксис сунушталды. IP даректерден тышкары, сиз серверди аныктоо үчүн кластер идентификаторун (FSID) колдоно аласыз: mount -t ceph [электрондук почта корголгон]_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
    • Ext4 файл системасы монтаждоо параметрлерин талдоо жана суперблок конфигурациясынын кадамдарын бөлүп турган жаңы монтаждоо API'сине өттү. MS_LAZYTIME желегин колдонууга util-linux өтүүнү жеңилдетүү үчүн убактылуу өзгөртүү катары кошулган жалкоолук жана nolazytime орнотуу опцияларын колдоону токтоттук. FS (ioctl FS_IOC_GETFSLABEL жана FS_IOC_SETFSLABEL) ичинде энбелгилерди коюу жана окуу үчүн колдоо кошулду.
    • NFSv4 файлдын жана каталогдордун аталыштарындагы регистрди сезбеген файл тутумдарында иштөө үчүн колдоону кошту. NFSv4.1+ топтолгон сеанстарды аныктоо үчүн колдоону кошот (транкинг).
  • Эстутум жана система кызматтары
    • Оптималдуу иштөө үчүн динамикалык жыштык башкарууну камсыз кылуу үчүн amd-pstate драйвери кошулду. Драйвер Valve менен биргеликте иштелип чыккан Zen 2 муунунан баштап AMD CPU жана APUлерди колдойт жана энергияны башкаруунун натыйжалуулугун жогорулатууга багытталган. Адаптивдүү жыштыктарды өзгөртүү үчүн CPPC (Биргелешкен процессордун аткарууну көзөмөлдөө) механизми колдонулат, ал индикаторлорду тагыраак өзгөртүүгө (үч натыйжалуулук деңгээли менен чектелбестен) жана мурда колдонулган ACPI негизиндеги P абалына караганда абалдын өзгөрүшүнө тезирээк жооп кайтарууга мүмкүндүк берет. айдоочулар (CPUFreq).
    • eBPF подсистемасы bpf_loop() иштеткичти сунуштайт, ал eBPF программаларында циклдерди уюштуруунун альтернативалуу жолун камсыз кылат, текшерүүчү тарабынан текшерүү үчүн тезирээк жана оңой.
    • Ядро деңгээлинде CO-RE (Compile Once – Run Everywhere) механизми ишке ашырылган, ал eBPF программаларынын кодун бир гана жолу компиляциялоого жана жүктөлгөн программаны учурдагы ядро ​​жана BTF түрлөрүнө ыңгайлаштыруучу атайын универсалдуу жүктөгүчтү колдонууга мүмкүндүк берет. (BPF түрү форматы).
    • Жеке анонимдүү (malloc аркылуу бөлүнгөн) эстутум аймактарына аттарды ыйгаруу мүмкүн, бул мүчүлүштүктөрдү оңдоону жана тиркемелерде эстутум керектөөсүн оптималдаштырууну жөнөкөйлөтө алат. Аттар PR_SET_VMA_ANON_NAME желеги менен prctl аркылуу дайындалат жана /proc/pid/maps жана /proc/pid/smaps форматында "[anon: ]".
    • Тапшырма пландоочусу /proc/PID/sched ичинде процессор ысып кеткенде жүктү азайтуу үчүн, мисалы, аргасыз бош турган абалдагы процесстерге сарпталган убакытты көзөмөлдөөнү жана көрсөтүүнү камсыз кылат.
    • Сыноо үчүн GPIO чиптерин имитациялоо үчүн иштелип чыккан gpio-sim модулу кошулду.
    • "perf ftrace" буйругуна кечигүү маалыматы менен гистограммаларды түзүү үчүн "кечүү" подкомандасы кошулду.
    • Ишти реалдуу убакытта талдоо үчүн "RTLA" утилиталарынын топтому кошулду. Ал osnoise (иштетүү системасынын тапшырманы аткарууга тийгизген таасирин аныктайт) жана таймерлат (таймер менен байланышкан кечигүүлөрдү өзгөртөт) сыяктуу утилиталарды камтыйт.
    • Жамааттыктардын экинчи сериясы татаал беттерге окшош, бирок семантикасы жакшыртылган жана иштин так уюштурулушуна ээ болгон баракчалардын фолио концепциясын ишке ашыруу менен бириктирилген. Томдорду колдонуу кээ бир ядронун подсистемаларында эстутумду башкарууну тездетүүгө мүмкүндүк берет. Сунушталган патчтар барактын кэшин томдорду колдонууга айландырууну аяктады жана XFS файл тутумундагы томдорго баштапкы колдоону кошту.
    • "Make mod2noconfig" куруу режими кошулду, ал бардык өчүрүлгөн подсистемаларды ядро ​​​​модулдары түрүндө чогулткан конфигурацияны жаратат.
    • Ядро куруу үчүн колдонула турган LLVM/Clang версиясына талаптар көтөрүлдү. Азыр куруу үчүн жок дегенде LLVM 11 чыгаруу керек.
  • Виртуалдаштыруу жана коопсуздук
    • /dev/random жана /dev/urandom түзүлүштөрүнүн иштеши үчүн жооп берген RDRAND псевдо-кокустук сандар генераторунун жаңыланган ишке ашырылышы сунушталат, бул энтропияны аралаштыруу операциялары үчүн SHA2 ордуна BLAKE1s хэш функциясын колдонууга өтүү менен айырмаланат. Өзгөртүү көйгөйлүү SHA1 алгоритмин жок кылуу жана RNG инициализация векторунун үстүнөн жазууну жок кылуу аркылуу псевдо-кокус сандар генераторунун коопсуздугун жакшыртты. BLAKE2s алгоритми SHA1ден жогору болгондуктан, аны колдонуу да аткарууга оң таасирин тийгизди.
    • Шартсыз алдыга секирүү операцияларынан кийин инструкцияларды алып-сатарлык аткаруудан келип чыккан процессорлордогу алсыздыктардан кошумча коргоо. Көйгөй инструкцияларды эстутумдагы тармактык инструкциядан кийин дароо алдын ала иштетүүдөн улам келип чыгат (SLS, Straight Line Speculation). Коргоону иштетүү үчүн учурда GCC 12 сынагынан өтүп жаткан релиз менен куруу керек.
    • Маалымдамаларды эсептөөдө аны бошотуудан кийин эстутумга кирүүгө алып келүүчү каталардын санын кыскартууга багытталган маалымдамаларды эсептөөгө көз салуу механизми кошулду (кайра эсептөө, маалымдама-эсеп). Механизм учурда тармактык подсистема менен чектелген, бирок келечекте ядронун башка бөлүктөрүнө ыңгайлаштырылышы мүмкүн.
    • Процесс эстутум барагынын таблицасындагы жаңы жазууларды кеңейтилген текшерүүлөр ишке ашырылды, бул зыяндын айрым түрлөрүн аныктоого жана системаны токтотууга, чабуулдарды алгачкы этапта бөгөт коюуга мүмкүндүк берет.
    • Ядро модулдарын колдонуучу мейкиндигинде иштеткич тарабынан эмес, түздөн-түз өзөктүн өзү тарабынан таңгактан чыгаруу мүмкүнчүлүгү кошулду, бул LoadPin LSM модулун колдонууга, ядро ​​модулдарынын текшерилген сактагычтан эстутумга жүктөлүшүн камсыздоого мүмкүндүк берет.
    • "-Wcast-function-type" желекчеси менен монтаждалган, ал функция көрсөткүчтөрүн шайкеш келбеген түргө чыгаруу жөнүндө эскертүүлөрдү берет.
    • Xen гипервизору үчүн pvUSB виртуалдык хост драйвери кошулду, бул конок тутумдарына жөнөтүлгөн USB түзмөктөрүнө кирүү мүмкүнчүлүгүн камсыз кылат (конок тутумдарына конок системасына дайындалган физикалык USB түзмөктөрүнө кирүү мүмкүнчүлүгүн берет).
    • IME (Intel Management Engine) подсистемасы менен Wi-Fi аркылуу өз ара аракеттенүүгө мүмкүндүк берген модуль кошулду, ал Intel процессорлору менен көпчүлүк заманбап эне платаларында келет жана CPUдан көз карандысыз иштеген өзүнчө микропроцессор катары ишке ашырылат.
    • ARM64 архитектурасы үчүн ядродогу жарыш шарттарын динамикалык түрдө аныктоо үчүн иштелип чыккан KCSAN (Kernel Concurrency Sanitizer) мүчүлүштүктөрдү оңдоо куралына колдоо көрсөтүлдү.
    • 32 биттик ARM системалары үчүн эс тутум менен иштөөдө каталарды аныктоо үчүн KFENCE механизмин колдонуу мүмкүнчүлүгү кошулган.
    • KVM гипервизору келе жаткан Intel Xeon Scalable сервер процессорлорунда ишке ашырылган AMX (Advanced Matrix Extensions) нускамаларын колдоону кошот.
  • Тармактык подсистема
    • Тармактык түзүлүштөрдүн тарабына трафикти башкарууга байланыштуу түшүрүү операцияларына колдоо кошулду.
    • Сериялык түзүлүштөрдүн үстүнөн MCTP (Башкаруу компоненттеринин транспорттук протоколу) колдонуу мүмкүнчүлүгү кошулду. MCTP башкаруу контроллерлору жана аларга байланыштуу түзүлүштөр (хост процессорлор, перифериялык түзүлүштөр ж.б.) ортосунда байланыш үчүн колдонулушу мүмкүн.
    • TCP стек оптималдаштырылган, мисалы, recvmsg чалууларынын иштешин жакшыртуу үчүн, розетка буферлерин кечиктирилген чыгаруу ишке ашырылган.
    • CAP_NET_RAW бийлик деңгээлинде setsockopt функциясы аркылуу SO_PRIORITY жана SO_MARK режимдерин коюуга уруксат берилет.
    • IPv4 үчүн чийки розеткаларды IP_FREEBIND жана IP_TRANSPARENT опциялары аркылуу жергиликтүү эмес IP даректерге туташтырууга уруксат берилет.
    • ARP мониторунун текшерүүсүндө каталардын босого санын конфигурациялоо үчүн sysctl arp_missed_max кошулду, андан кийин тармак интерфейси өчүрүлгөн абалда жайгаштырылат.
    • Тармактын аталыш мейкиндиктери үчүн өзүнчө sysctl min_pmtu жана mtu_expires маанилерин конфигурациялоо мүмкүнчүлүгү берилген.
    • ethtool API'ге кирүүчү жана чыгуучу пакеттер үчүн буферлердин өлчөмүн коюу жана аныктоо мүмкүнчүлүгү кошулду.
    • Netfilter тармак көпүрөсүндө транзиттик pppoe трафигин чыпкалоо үчүн колдоо кошту.
    • SMB3 протоколун колдонуу менен файл серверин ишке ашырган ksmbd модулу ачкыч алмашуу үчүн колдоону кошту, smbdirect үчүн 445 тармак портун иштетти жана "smb2 max credit" параметрин колдоону кошту.
  • жабдуулар
    • Жашыруун маалыматты көрсөтүү үчүн экрандарды колдоо drm (Direct Renderering Manager) подсистемасына жана i915 драйверине кошулду, мисалы, кээ бир ноутбуктар конфиденциалдуу көрүү режими бар экрандар менен жабдылган, бул сырттан көрүүнү кыйындатат. . Кошулган өзгөртүүлөр мындай экрандар үчүн адистештирилген драйверлерди туташтырууга жана кадимки KMS драйверлериндеги касиеттерди орнотуу менен жашыруун серептөө режимдерин башкарууга мүмкүндүк берет.
    • Amdgpu драйвери аны колдогон бардык AMD GPU'лары үчүн STB (Smart Trace Buffer) мүчүлүштүктөрдү оңдоо технологиясын колдоону камтыйт. STB акыркы катага чейин аткарылган функциялар жөнүндө маалыматты атайын буферде сактоо менен каталарды анализдөөнү жана көйгөйлөрдүн булагын аныктоону жеңилдетет.
    • i915 драйвери Intel Raptor Lake S чиптерин колдоону кошот жана демейки боюнча Intel Alder Lake P чиптеринин графикалык подсистемасына колдоо көрсөтөт.Экрандын арткы жарыгын VESA DPCD интерфейси аркылуу башкарууга болот.
    • Консолдо аппараттык сыдыруу ылдамдатуу үчүн колдоо fbcon/fbdev драйверлеринде кайтарылды.
    • Apple M1 чиптерин колдоо үчүн өзгөрүүлөрдүн интеграциясы уланууда. Микропрограмма тарабынан берилген фреймбуфер аркылуу чыгаруу үчүн Apple M1 чиптери бар системаларда simpledrm драйверин колдонуу мүмкүнчүлүгү ишке ашырылды.
    • ARM SoС, Snapdragon 7c, 845 жана 888 (Sony Xperia XZ2 / XZ2C / XZ3, Xperia 1 III / 5 III, Samsung J5, Microsoft Surface Duo 2), Mediatek MT6589 (Fairphone FP1), Mediatek (MT8183) түзмөктөрү жана такталары үчүн кошумча колдоо Acer Chromebook 314), Mediatek MT7986a/b (Wi-fi роутерлерде колдонулат), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI SPEX320LP8s. , Aspeed AST8/AST2500, Engicam i.Core STM2600MP32, Allwinner Tanix TX1, Facebook Bletchley BMC, Goramo MultiLink, JOZ Access Point, Y Soft IOTA Crux/Crux+, t6/t6000/ MacBook Pro.
    • ARM Cortex-M55 жана Cortex-M33 процессорлоруна колдоо кошулду.
    • CPU MIPS негизиндеги түзмөктөр үчүн кошумча колдоо: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
    • RISC-V архитектурасына негизделген StarFive JH7100 SoC үчүн кошумча колдоо.
    • Клавиатуранын жарыгын башкаруу жана Lenovo Йога китебиндеги ар кандай сенсорлорго кирүү үчүн lenovo-yogabook-wmi драйвери кошулду.
    • AMD Ryzen процессорлоруна негизделген Asus X370, X470, B450, B550 жана X399 эне платаларында колдонулган сенсорлорго кирүү үчүн asus_wmi_sensors драйвери кошулду.
    • Android платформасы менен жөнөтүлгөн x86 негизиндеги планшеттик компьютерлер үчүн x86-android-планшет драйвери кошулду.
    • TrekStor SurfTab duo W1 сенсордук экрандары жана Chuwi Hi10 Plus жана Pro планшеттери үчүн электрондук калем үчүн колдоо кошулду.
    • SoC Tegra 20/30 үчүн драйверлер кубаттуулукту жана чыңалууну башкаруу үчүн кошумча колдоо көрсөтүштү. ASUS Prime TF32, Pad TF201T, Pad TF701T, Infinity TF300T, EeePad TF700 жана Pad TF101TG сыяктуу 300 биттик Tegra SoC эски түзмөктөрүндө жүктөөнү иштетет.
    • Siemens өнөр жай компьютерлери үчүн драйверлер кошулду.
    • Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA жана Team LCD043015 DisplayXNUMX Source LCDXNUMX панелдерине колдоо кошулду.
    • Үн системалары жана кодектери AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texasx TLADC колдонгон Intel системалары үчүн кошумча колдоо. Tegra320 HD-аудиосу менен көйгөйлөр чечилди. CS3L194 кодектери үчүн HDA колдоосу кошулду. Lenovo жана HP ноутбуктары, ошондой эле Gigabyte эне платалары үчүн үн тутумдарына колдоо жакшыртылган.

Source: opennet.ru

Комментарий кошуу