Linux 5.18 цөмийн хувилбар

Хоёр сарын турш хөгжүүлсний дараа Линус Торвалдс Линуксийн цөмийн 5.18 хувилбарыг танилцууллаа. Хамгийн онцлох өөрчлөлтүүдийн дунд: хуучирсан функцийг их хэмжээгээр цэвэрлэж, Reiserfs FS-ийг хуучирсан гэж зарлаж, хэрэглэгчийн үйл явцыг хянах үйл явдлуудыг хэрэгжүүлсэн, Intel IBT-ийн мөлжлөгийг хаах механизмын дэмжлэг нэмэгдсэн, буфер халих илрүүлэх горим идэвхжсэн. memcpy() функцийг ашиглан fprobe функцийн дуудлагыг хянах механизм нэмэгдсэн, AMD Zen CPU-ийн даалгавар төлөвлөгчийн гүйцэтгэл сайжирч, Intel CPU-ийн функцийг (SDS) удирдах драйвер орсон, зарим засваруудыг нэгтгэсэн. толгой файлуудын бүтцийг өөрчлөх, C11 стандартыг ашиглахыг зөвшөөрсөн.

Шинэ хувилбарт 16206 хөгжүүлэгчийн 2127 засвар орсон (сүүлийн хувилбарт 14203 хөгжүүлэгчийн 1995 засвар хийгдсэн), засварын хэмжээ 108 MB (өөрчлөлтөд 14235 файл нөлөөлж, 1340982 мөр код нэмэгдсэн, 593836 мөр устгагдсан). 44-д оруулсан бүх өөрчлөлтийн 5.18 орчим хувь нь төхөөрөмжийн драйверуудтай холбоотой, 16 орчим хувь нь техник хангамжийн архитектурт хамаарах кодыг шинэчлэхтэй холбоотой, 11 хувь нь сүлжээний стектэй, 3 хувь нь файлын системтэй, 3 хувь нь холбоотой байна. дотоод цөмийн дэд системүүдтэй холбоотой.

Цөм 5.18 дахь гол шинэчлэлүүд:

  • Дискний дэд систем, I/O болон файлын системүүд
    • Btrfs файлын систем нь илгээх, хүлээн авах үйлдлийг гүйцэтгэх үед шахсан өгөгдлийг дамжуулах дэмжлэгийг нэмсэн. Өмнө нь илгээх/хүлээн авах горимыг ашиглах үед илгээгч тал шахсан хэлбэрээр хадгалсан өгөгдлүүдийг задалж, хүлээн авагч тал бичихийн өмнө дахин шахдаг байсан. 5.18 цөмд илгээх/хүлээн авах дуудлага ашигладаг хэрэглэгчийн орон зайн программуудад шахагдсан өгөгдлийг дахин савлахгүйгээр дамжуулах боломжийг олгосон. Энэ функц нь BTRFS_IOC_ENCODED_READ ба BTRFS_IOC_ENCODED_WRITE шинэ ioctl үйлдлийн ачаар хэрэгжсэн бөгөөд энэ нь танд мэдээллийг шууд унших, бичих боломжийг олгодог.

      Үүнээс гадна Btrfs нь fsync гүйцэтгэлийг сайжруулдаг. Холбох цэгүүдээр хязгаарлагдахгүй нийт хадгалалтын хувьд хуулбарлах, дахин холбоос хийх (файлын мета өгөгдлийг хуулбарлахгүйгээр одоо байгаа өгөгдөлд холбоос үүсгэх замаар хуулбарлах) боломжийг нэмсэн.

    • Шууд I/O горимд fscrypt нь шугаман шифрлэлтийг ашиглах үед шифрлэгдсэн файлд хандах боломжтой бөгөөд шифрлэлт болон шифрийг тайлах үйлдлийг цөм биш хөтчийн хянагч гүйцэтгэдэг. Энгийн цөмийн шифрлэлттэй бол шууд I/O ашиглан шифрлэгдсэн файлд хандах боломжгүй хэвээр байна, учир нь файлууд цөм дэх буферийн механизмыг алгасаж ханддаг.
    • NFS сервер нь анхдагчаар NFSv3 протоколыг дэмждэг бөгөөд одоо тусдаа идэвхжүүлэх шаардлагагүй бөгөөд NFS ерөнхийдөө идэвхжсэн үед ашиглах боломжтой. NFSv3 нь NFS-ийн үндсэн бөгөөд үргэлж дэмжигддэг хувилбар гэж тооцогддог бөгөөд NFSv2-ийн дэмжлэгийг ирээдүйд зогсоож магадгүй юм. Лавлах агуулгыг унших үр ашиг мэдэгдэхүйц сайжирсан.
    • ReiserFS файлын систем хуучирсан бөгөөд 2025 онд устах төлөвтэй байна. ReiserFS-ийг цуцалснаар угсрах, iomap, tomes-д зориулсан шинэ API-г дэмжихтэй холбоотой файлын системийн хэмжээнд өөрчлөлт оруулахад шаардагдах хүчин чармайлт багасна.
    • F2FS файлын системийн хувьд суурилуулсан файлын системийн хэрэглэгчийн ID-г зураглах боломжийг хэрэгжүүлсэн бөгөөд энэ нь суурилуулсан гадаад хуваалт дээрх тодорхой хэрэглэгчийн файлуудыг одоогийн систем дээрх өөр хэрэглэгчтэй харьцуулахад ашиглагддаг.
    • Device-mapper зохицуулагчийн статистикийг тооцоолох кодыг дахин боловсруулсан бөгөөд энэ нь dm-crypt гэх мэт зохицуулагчийн нягтлан бодох бүртгэлийн нарийвчлалыг мэдэгдэхүйц сайжруулсан.
    • NVMe төхөөрөмжүүд нь бүрэн бүтэн байдлыг шалгахад 64 битийн шалгах нийлбэрийг дэмждэг болсон.
    • Exfat файлын системийн хувьд файлын нэрний төгсгөлд цэгүүдийг арилгахыг идэвхгүй болгосон "хамгийн сүүлийн_цэгүүд" гэсэн шинэ холбох сонголтыг санал болгосон (Windows дээр файлын нэрний төгсгөлд байгаа цэгүүдийг анхдагчаар арилгадаг).
    • EXT4 нь fast_commit горимын гүйцэтгэлийг сайжруулж, өргөтгөх чадварыг нэмэгдүүлдэг. Файлын системийг их хэмжээгээр хуваах нөхцөлд гүйцэтгэлийг нэмэгдүүлэх боломжийг олгодог "mb_optimize_scan" холбох сонголт нь өргөтгөлтэй файлуудтай ажиллахад тохирсон байдаг.
    • Блок төхөөрөмжүүдийг дэмждэг дэд систем дэх бичих урсгалын дэмжлэгийг зогсоосон. Энэ функцийг SSD-д зориулж санал болгосон боловч өргөн тархаагүй бөгөөд одоогоор энэ горимыг дэмждэг төхөөрөмж ашиглагдаагүй байгаа бөгөөд ирээдүйд гарч ирэх магадлал багатай юм.
  • Санах ой болон системийн үйлчилгээ
    • Толгой файлуудын шаталсан бүтцийг өөрчлөх, хөндлөн хамаарлын тоог багасгах замаар цөмийг дахин бүтээх хугацааг мэдэгдэхүйц багасгах боломжийг олгодог багц засваруудыг нэгтгэж эхэлсэн. Цөм 5.18 нь даалгавар төлөвлөгчийн толгой файлуудын бүтцийг оновчтой болгох засваруудыг агуулдаг (цөм/хуваарь). Өмнөх хувилбартай харьцуулахад цөм/хуваарь/ кодыг угсрах үед CPU-ийн зарцуулалт 61%-иар, бодит хугацаа 3.9%-иар (2.95-аас 2.84 сек) буурсан байна.
    • Цөмийн код нь 11 онд хэвлэгдсэн C2011 стандартыг ашиглахыг зөвшөөрдөг. Өмнө нь цөмд нэмсэн код нь 89 онд үүссэн ANSI C (C1989) үзүүлэлттэй нийцэх ёстой байв. 5.18 цөм бүтээх скриптүүдэд '—std=gnu89' сонголтыг '—std=gnu11 -Wno-shift-negative-value' гэж сольсон. C17 стандартыг ашиглах боломжийг авч үзсэн боловч энэ тохиолдолд GCC-ийн хамгийн бага дэмжигдсэн хувилбарыг нэмэгдүүлэх шаардлагатай бол C11 дэмжлэгийг оруулах нь GCC хувилбарын (5.1) одоогийн шаардлагад нийцэж байна.
    • Орон нутгийн санах ойн сувгууд бүхий зангилаа бүрд олон Сүүлийн түвшний кэш (LLC) өгдөг Zen микроархитектур бүхий AMD процессорууд дээр ажлын хуваарь гаргах гүйцэтгэл сайжирсан. Шинэ хувилбар нь NUMA зангилааны хоорондох ХХК-ийн тэнцвэргүй байдлыг арилгасан бөгөөд энэ нь зарим төрлийн ажлын ачааллын гүйцэтгэлийг мэдэгдэхүйц нэмэгдүүлэхэд хүргэсэн.
    • Хэрэглэгчийн орон зай дахь програмуудыг хянах хэрэгслүүдийг өргөжүүлсэн. Цөмийн шинэ хувилбар нь хэрэглэгчийн үйл явдлуудыг үүсгэх, trace buffer руу өгөгдөл бичих боломжийг хэрэглэгчийн процессуудад нэмсэн бөгөөд үүнийг ftrace, perf гэх мэт цөм мөрдөх стандарт хэрэглүүрээр дамжуулан харж болно. Хэрэглэгчийн орон зайн ул мөрийн үйл явдлууд нь цөмийн ул мөрийн үйл явдлуудаас тусгаарлагдсан байдаг. Үйл явдлын төлөвийг /sys/kernel/debug/tracing/user_events_status файлаар, үйл явдлын бүртгэл болон өгөгдлийн бичлэгийг /sys/kernel/debug/tracing/user_events_data файлаар харах боломжтой.
    • Функцийн дуудлагыг хянах (шалгах) механизмыг нэмсэн - fprobe. Fprobe API нь ftrace дээр суурилдаг боловч зөвхөн функцийн оролтын цэгүүд болон функцийн гаралтын цэгүүдэд буцааж дуудлагын зохицуулагчийг хавсаргах боломжоор хязгаарлагддаг. Kprobes болон kretprobes-ээс ялгаатай нь шинэ механизм нь хэд хэдэн функцийг нэг дор ашиглах боломжийг олгодог.
    • Санах ойн удирдлагын нэгжээр (MMU) тоноглогдоогүй хуучин ARM процессоруудыг (ARMv4 ба ARMv5) дэмжихээ больсон. MMU-гүй ARMv7-M системүүдийн дэмжлэг хэвээр байна.
    • Andes Technologies процессоруудад ашигладаг RISC-тэй төстэй NDS32 архитектурын дэмжлэгийг зогсоосон. Линуксийн үндсэн цөмд засвар үйлчилгээ хийгдээгүй, NDS32 дэмжлэг авах эрэлт хэрэгцээ байхгүйгээс кодыг устгасан (Үлдсэн хэрэглэгчид техник хангамж үйлдвэрлэгчдийн тусгай цөмийн бүтцийг ашигладаг).
    • Өгөгдмөл байдлаар, a.out гүйцэтгэгдэх файлын форматыг дэмждэг цөмийг бүтээх нь альфа болон m68k архитектурын хувьд хаагдсан бөгөөд энэ форматыг үргэлжлүүлэн ашигладаг. Удахгүй хуучин a.out форматын дэмжлэг цөмөөс бүрмөсөн устах магадлалтай. a.out форматыг хасах төлөвлөгөөг 2019 оноос хойш хэлэлцэж байна.
    • PA-RISC архитектур нь vDSO (виртуал динамик хуваалцсан объектууд) механизмд хамгийн бага дэмжлэг үзүүлдэг бөгөөд энэ нь контекст шилжихгүйгээр хэрэглэгчийн орон зайд ашиглах боломжтой системийн дуудлагын хязгаарлагдмал багцыг хангадаг. vDSO-ийн дэмжлэг нь гүйцэтгэгдэх боломжгүй стектэй ажиллах чадварыг хэрэгжүүлэх боломжийг олгосон.
    • Intel HFI (Тоног төхөөрөмжийн санал хүсэлтийн интерфэйс) механизмын дэмжлэгийг нэмсэн бөгөөд энэ нь техник хангамж нь CPU бүрийн одоогийн гүйцэтгэл, эрчим хүчний үр ашгийн талаарх мэдээллийг цөм рүү дамжуулах боломжийг олгодог.
    • Intel SDSi (Програм хангамжаар тодорхойлогдсон цахиур) механизмын драйверыг нэмсэн бөгөөд энэ нь процессор дахь нэмэлт функцуудыг (жишээлбэл, тусгай заавар, нэмэлт кэш санах ой) оруулахыг хянах боломжийг олгодог. Гол санаа нь чипийг илүү хямд үнээр нийлүүлэх, дэвшилтэт функцууд түгжигдсэн бөгөөд дараа нь "худалдан авах" боломжтой бөгөөд чипийг техник хангамжаар солихгүйгээр нэмэлт боломжуудыг идэвхжүүлж болно.
    • Fam19h үеэс эхлэн AMD EPYC сервер процессоруудад гарч ирсэн тусгай регистрүүдээр дамжуулан процессорын удирдлагын функцүүдэд хандах боломжийг олгодог AMD HSMP (Host System Management Port) интерфейсийг дэмжихийн тулд amd_hsmp драйвер нэмэгдсэн. Жишээлбэл, HSMP-ээр дамжуулан та эрчим хүчний хэрэглээ, температурын мэдээллийг авах, давтамжийн хязгаарыг тогтоох, гүйцэтгэлийг сайжруулах янз бүрийн горимуудыг идэвхжүүлэх, санах ойн параметрүүдийг удирдах боломжтой.
    • io_uring асинхрон оролт гаралтын интерфэйс нь цагираган буферт файл тодорхойлогчдын багцыг бүртгэх IORING_SETUP_SUBMIT_ALL сонголтыг, нэг цагираган буферээс нөгөө цагираг буфер рүү дохио илгээх IORING_OP_MSG_RING үйлдлийг хэрэгжүүлдэг.
    • Санах ойн хандалтын давтамжийг харгалзан санах ойг гаргах боломжийг олгодог DAMOS (Data Access Monitoring-based Operation Schemes) механизм нь санах ойн үйл ажиллагааг хэрэглэгчийн зайнаас хянах боломжийг өргөжүүлсэн.
    • Гурав дахь цуврал засварууд нь нийлмэл хуудастай төстэй боловч семантикийг сайжруулж, ажлын зохион байгуулалтыг илүү тодорхой болгосон хуудасны хуудасны концепцийн хэрэгжилттэй нэгтгэгдсэн. Томыг ашиглах нь зарим цөмийн дэд системүүдийн санах ойн менежментийг хурдасгах боломжийг олгодог. Санал болгож буй засваруудад дотоод санах ойн удирдлагын функцуудыг get_user_pages() функцын хувилбаруудыг багтаасан фолио болгон хөрвүүлсэн. Урьдчилан унших кодыг их хэмжээгээр үүсгэхэд дэмжлэг үзүүлсэн.
    • Ассемблей систем нь USERCFLAGS болон USERLDFLAGS орчны хувьсагчдыг дэмждэг бөгөөд эдгээрийн тусламжтайгаар та хөрвүүлэгч болон холбогч руу нэмэлт туг дамжуулж болно.
    • eBPF дэд системд BPF псевдокодын төрөл шалгах мэдээллийг өгдөг BTF (BPF Type Format) механизм нь хэрэглэгчийн орон зай дахь санах ойн хэсгүүдэд хамаарах хувьсагчдад тайлбар нэмэх боломжийг олгодог. Тэмдэглэл нь BPF кодын баталгаажуулалтын системд санах ойн хандалтыг илүү сайн тодорхойлж, баталгаажуулахад тусалдаг.
    • Ачаалагдсан BPF программуудыг хадгалах шинэ санах ойн хуваарилалтын зохицуулагчийг санал болгосон бөгөөд энэ нь олон тооны BPF програм ачаалагдсан тохиолдолд санах ойг илүү үр дүнтэй ашиглах боломжийг олгодог.
    • MADV_DONTNEED_LOCKED тугийг madvise() системийн дуудлагад нэмсэн бөгөөд энэ нь одоо байгаа MADV_DONTNEED тугийг нөхөх процессын санах ойн менежментийг оновчтой болгох хэрэгслээр хангагдсан бөгөөд үүгээр дамжуулан цөмд санах ойн блок гарах гэж байгаа талаар урьдчилан мэдээлэх боломжтой, өөрөөр хэлбэл. Энэ блок шаардлагагүй болсон бөгөөд цөмд ашиглах боломжтой. MADV_DONTNEED-ээс ялгаатай нь RAM-д бэхлэгдсэн санах ойн хуудсуудад MADV_DONTNEED_LOCKED тугийг ашиглахыг зөвшөөрдөг бөгөөд madvise дуудагдах үед бэхлэгдсэн статусаа өөрчлөхгүйгээр хөөгдөж, дараа нь блоклох болон "хуудас үүсгэх" тохиолдолд алдаа” гэсэн бичвэрийг хадгалсан байдлаар буцаана. Нэмж дурдахад, MADV_DONTNEED тугийг HugeTLB дахь том санах ойн хуудсуудад ашиглахыг зөвшөөрөх өөрчлөлтийг нэмсэн.
  • Виртуалчлал ба аюулгүй байдал
    • X86 архитектурын хувьд Intel IBT (Шууд бус салбар хянах) командын урсгалын хамгаалалтын механизмд дэмжлэг нэмсэн бөгөөд энэ нь ашиглагдахад чиглэсэн програмчлалын техникийг (ROP, Return-Oriented Programming) ашиглахаас сэргийлдэг. Удирдлагын буцаах зааварчилгаагаар төгссөн машины зааврын хэсгүүдийн санах ойд аль хэдийн байгаа дуудлагын гинжин хэлхээ хэлбэрээр үүсдэг (дүрмээр бол эдгээр нь функцүүдийн төгсгөлүүд юм). Хэрэгжүүлсэн хамгаалалтын аргын мөн чанар нь функцийн эхэнд тусгай ENDBR зааврыг нэмж, зөвхөн энэ зааварт шилжсэн тохиолдолд шууд бус шилжилтийг гүйцэтгэхийг зөвшөөрөх замаар функцийн биед шууд бус шилжилтийг хаах явдал юм. JMP-ээр дамжуулан дуудлага хийх ба CALL нь үргэлж хамгийн эхэнд байрлах ENDBR заавар дээр байх ёстой).
    • CONFIG_FORTIFY_SOURCE горим идэвхжсэн үед хөрвүүлэх үед хийгддэг memcpy(), memmove() болон memset() функцууд дахь буферийн хил хязгаарыг илүү хатуу шалгахыг идэвхжүүлсэн. Нэмэлт өөрчлөлт нь хэмжээ нь мэдэгдэж байгаа бүтцийн элементүүд хил хязгаараас хэтэрсэн эсэхийг шалгахад чиглэгддэг. Хэрэгжүүлсэн функц нь хамгийн багадаа сүүлийн гурван жилд илэрсэн memcpy()-тэй холбоотой цөмийн буферийн халилтыг хаах боломжийг олгоно гэж тэмдэглэсэн байна.
    • /dev/random болон /dev/urandom төхөөрөмжүүдийн ажиллагааг хариуцдаг RDRAND псевдо-санамсаргүй тоо үүсгэгчийн шинэчилсэн хэрэгжилтийн кодын хоёр дахь хэсгийг нэмсэн. Шинэ хэрэгжүүлэлт нь /dev/random болон /dev/urandom-ын ажиллагааг нэгтгэж, виртуал машиныг эхлүүлэх үед санамсаргүй тоонуудын урсгалд давхардлаас хамгаалах хамгаалалт нэмж, SHA2-ийн оронд BLAKE1s хэш функцийг ашиглахад шилжсэнээрээ онцлог юм. энтропи холих үйлдлүүд. Энэхүү өөрчлөлт нь асуудалтай SHA1 алгоритмыг арилгаж, RNG эхлүүлэх векторыг дарж бичихийг арилгаснаар псевдо санамсаргүй тоо үүсгэгчийн аюулгүй байдлыг сайжруулсан. BLAKE2s алгоритм нь гүйцэтгэлийн хувьд SHA1-ээс давуу тул түүнийг ашиглах нь гүйцэтгэлд эерэг нөлөө үзүүлсэн.
    • ARM64 архитектурын хувьд "QARMA3" заагчийг баталгаажуулах шинэ алгоритмын дэмжлэгийг нэмсэн бөгөөд энэ нь аюулгүй байдлын зохих түвшинг хадгалахын зэрэгцээ QARMA алгоритмаас хурдан юм. Энэхүү технологи нь заагчийн өөрөө ашиглагдаагүй дээд битүүдэд хадгалагдсан тоон гарын үсгийг ашиглан буцах хаягийг баталгаажуулахын тулд тусгай ARM64 зааврыг ашиглах боломжийг олгодог.
    • ARM64 архитектурын хувьд угсралтын дэмжлэгийг GCC 12-д оруулснаар стек дээр буфер хэт ихэссэн тохиолдолд функцээс буцах хаягийг дарж бичихээс хамгаалах горимыг оруулсан болно. Хамгаалалтын мөн чанар нь функц руу хяналтыг шилжүүлж, функцээс гарахын өмнө энэ хаягийг сэргээсний дараа буцах хаягийг тусдаа "сүүдэр" стек болгон хадгалах явдал юм.
    • Шим ачаалагч дээр дэмжигдсэн системийн эзэмшигчийн түлхүүрүүдийг (MOK, Machine Owner Keys) агуулсан шинэ түлхүүрийн бөгж - "машин" нэмсэн. Эдгээр түлхүүрүүдийг ачаалсны дараах үе шатанд ачаалагдсан цөмийн бүрэлдэхүүн хэсгүүдэд (жишээлбэл, цөмийн модулиуд) дижитал гарын үсэг зурахад ашиглаж болно.
    • TPM-ийн хуучин хувилбарт санал болгосон TPM-д зориулсан тэгш бус хувийн түлхүүрүүдийн дэмжлэгийг хассан бөгөөд аюулгүй байдлын асуудал мэдэгдэж байсан бөгөөд практикт өргөн хэрэглэгдэж байгаагүй.
    • size_t төрлийн өгөгдлийн бүхэл тоо хэтрэхээс хамгаалах хамгаалалт нэмэгдсэн. Код нь size_mul(), size_add() болон size_sub() зохицуулагчийг багтаасан бөгөөд энэ нь танд хэмжээг size_t төрлөөр найдвартай үржүүлэх, нэмэх, хасах боломжийг олгодог.
    • Цөмийг бүтээх үед "-Warray-bounds" болон "-Wzero-length-bounds" тугуудыг идэвхжүүлсэн бөгөөд индекс нь массивын хязгаараас хэтэрсэн үед болон тэг урттай массивуудыг ашиглах үед анхааруулга харуулдаг.
    • Virtio-crypto төхөөрөмж нь RSA алгоритмыг ашиглан шифрлэлтийн дэмжлэгийг нэмсэн.
  • Сүлжээний дэд систем
    • Сүлжээний гүүрийг хэрэгжүүлэхэд порт холбох горимын дэмжлэг (түгжигдсэн горим) нэмэгдсэн бөгөөд хэрэглэгч зөвхөн зөвшөөрөгдсөн MAC хаягаас портоор дамжуулан траффик илгээх боломжтой болсон. STP (Spanning Tree Protocol) протоколын төлөвийг үнэлэх хэд хэдэн бүтцийг ашиглах чадварыг мөн нэмсэн. Өмнө нь VLAN-г зөвхөн STP (1:1) рүү шууд буулгаж, VLAN бүрийг бие даан удирддаг байсан. Шинэ хувилбар нь mst_enable параметрийг нэмсэн бөгөөд идэвхжүүлсэн үед VLAN-н төлөвийг MST (Олон хүрээтэй мод) модулиар хянадаг бөгөөд VLAN-уудын холболт нь M:N загвартай тохирч болно.
    • Сүлжээний стект багцуудыг буулгах шалтгааныг (шалтгааны код) хянах хэрэгслүүдийг нэгтгэх ажлыг үргэлжлүүлэв. Шалтгааны код нь пакеттай холбоотой санах ойг суллах үед илгээгдэх бөгөөд толгойн алдаа, rp_filter хууран мэхлэлт илрүүлэх, хүчингүй шалгах нийлбэр, санах ой дутуу, IPSec XFRM дүрмүүд идэвхжсэн, хүчингүй дарааллын дугаар TCP гэх мэт нөхцөл байдлыг зөвшөөрдөг.
    • Цөмд BPF програмуудыг гүйцэтгэдэг BPF_PROG_RUN горимд хэрэглэгчийн орон зайнаас эхлүүлсэн BPF програмуудаас сүлжээний пакетуудыг шилжүүлэх боломжтой боловч үр дүнг хэрэглэгчийн орон зайд буцаана. Пакетуудыг XDP (eXpress Data Path) дэд системийг ашиглан дамжуулдаг. XDP процессор нь сүлжээний пакетуудыг шууд сүлжээний стек эсвэл бусад төхөөрөмж рүү чиглүүлэх боломжтой шууд пакет боловсруулах горимыг дэмждэг. Мөн гадаад траффикийн програм хангамж үүсгэгчийг үүсгэх эсвэл сүлжээний фреймийг сүлжээний стек рүү орлуулах боломжтой.
    • Сүлжээний бүлгүүдэд хавсаргасан BPF програмуудын хувьд системийн дуудлагын буцаах утгыг тодорхой зааж өгөх туслах функцуудыг санал болгосон бөгөөд энэ нь системийн дуудлагыг хаах шалтгаануудын талаар илүү бүрэн мэдээлэл өгөх боломжийг олгодог.
    • XDP (eXpress Data Path) дэд систем нь олон буферт байрлуулсан хэсэгчилсэн пакетуудын дэмжлэгийг нэмсэн бөгөөд энэ нь танд Jumbo фреймүүдийг XDP-д боловсруулж, XDP_REDIRECT-д TSO/GRO (TCP Segmentation Offload/Generic Receive Offload) ашиглах боломжийг олгодог.
    • Сүлжээний нэрийн орон зайг устгах үйл явц ихээхэн хурдассан бөгөөд энэ нь их хэмжээний траффик бүхий зарим том системүүдэд эрэлт хэрэгцээтэй байсан.
  • Тоног төхөөрөмж
    • Amdgpu драйвер нь анхдагчаар FreeSync дасан зохицох синхрончлолын технологийг агуулдаг бөгөөд энэ нь дэлгэцэн дээрх мэдээллийн шинэчлэгдэх хурдыг тохируулах боломжийг олгодог бөгөөд тоглоом тоглож, видео үзэж байхдаа гөлгөр, нулимсгүй зураг авах боломжийг олгодог. Aldebaran GPU дэмжлэгийг тогтвортой гэж зарлав.
    • i915 драйвер нь Intel Alderlake N чип болон Intel DG2-G12 дискрет график картуудад (Arc Alchemist) дэмжлэг үзүүлдэг.
    • Nouveau драйвер нь DP/eDP интерфэйсүүдийн өндөр бит хурдыг дэмжих ба lttprs (Link-Training Tunable PHY Repeaters) кабелийн өргөтгөлүүдийг дэмждэг.
    • Armada, exynos, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen болон vc4 зэрэг драйверуудын drm (Direct Rendering Manager) дэд системд параметрүүдийг дэмждэг. nomodeset-ийг нэмсэн бөгөөд энэ нь цөмийн түвшинд видео горимыг солих, техник хангамжийн рендеринг хурдасгах хэрэгслийг ашиглахыг идэвхгүй болгох боломжийг олгодог бөгөөд зөвхөн системийн фреймбуфертэй холбоотой функцуудыг үлдээх боломжийг олгодог.
    • ARM SoС Qualcomm Snapdragon 625/632 (LG Nexus 5X болон Fairphone FP3 ухаалаг гар утсанд ашигладаг), Samsung Exynos 850, Samsung Exynos 7885 (Samsung Galaxy A8-д ашиглагддаг), Airoha (Mediatek/EcoNet) EN7523, Mediatek/EcoNet) EN6582, Mediatek5008m (Mediatek/EcoNet)-ийн дэмжлэгийг нэмсэн. таблет 3G), Microchip Lan966, Renesas RZ/G2LC, RZ/V2L, Tesla FSD, TI K3/AM62 болон i.MXRTxxxx.
    • Broadcom (Raspberry Pi Zero 2 W), Qualcomm (Google Herobrine R1 Chromebook, SHIFT6mq, Samsung Galaxy Book2), Rockchip (Pine64 PineNote, Bananapi-R2-Pro, STM32 Emtrion emSBS, Samsung Galaxy Tab S) зэрэг ARM төхөөрөмж болон хавтангуудад зориулсан дэмжлэг нэмэгдсэн. , Prestigio PMT5008 3G таблет), Allwinner (A20-Marsboard), Amlogic (Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max, Amlogic AQ222 болон OSMC Vero 4K+), Aspeed (Quanta S6MHROMED), / Armada (Ctera C8 V3 ба V200 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (Protonic PRT1MM, emCON-MX2M Mini, Toradex Verdin, Gateworks GW8).
    • AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm SC7280, Qualcomm SC2, ReTexas585M234 зэрэг дууны систем болон кодлогчийн дэмжлэгийг нэмсэн. Intel AVS DSP чипийн дууны драйверын анхны хэрэгжилтийг нэмсэн. Intel ADL болон TegraXNUMX-д зориулсан драйверийн дэмжлэгийг шинэчилж, Dell, HP, Lenovo, ASUS, Samsung, Clevo төхөөрөмжүүдийн аудио дэмжлэгийг сайжруулах өөрчлөлтүүдийг хийсэн.

    Үүний зэрэгцээ Латин Америкийн Чөлөөт Програм хангамжийн Сан нь бүрэн үнэгүй цөмийн 5.18 хувилбарыг бий болгосон - Linux-libre 5.18-gnu, програм хангамжийн элементүүд болон чөлөөт бус бүрэлдэхүүн хэсгүүд эсвэл кодын хэсгүүдийг агуулсан драйверуудаас цэвэрлэж, хамрах хүрээ нь хязгаарлагдмал. үйлдвэрлэгчээс. Шинэ хувилбар нь MIPI DBI хавтан, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) болон Realtek 8852a/8852c, Intel AVS болон Texas Instruments TAS5805M дууны чипүүдийн драйверуудыг цэвэрлэдэг. DTS файлуудыг AArch64 архитектур дээр суурилсан процессортой янз бүрийн Qualcomm SoC-д зориулж цэвэрлэв. AMD GPU, MediaTek MT7915, Silicon Labs WF200+ WiFi, Mellanox Spectru Ethernet, Realtek rtw8852c, Qualcomm Q6V5, Wolfson ADSP, MediaTek HCI UART-ийн драйверууд болон дэд системүүдийн шинэчилсэн blob цэвэрлэх код.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх