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

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

Шинэ хувилбарт 14203 хөгжүүлэгчийн 1995 засвар орсон, засварын хэмжээ 37 МБ (өөрчлөлтөд 11366 файл нөлөөлж, 506043 мөр код нэмэгдсэн, 250954 мөр устгагдсан). 44-д оруулсан бүх өөрчлөлтийн 5.17 орчим хувь нь төхөөрөмжийн драйверуудтай холбоотой, өөрчлөлтүүдийн 16 орчим хувь нь техник хангамжийн архитектурт хамаарах кодыг шинэчлэхтэй холбоотой, 15 хувь нь сүлжээний стектэй, 4 хувь нь файлын системтэй, 4 хувь нь холбоотой байна. дотоод цөмийн дэд системүүдтэй холбоотой.

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

  • Дискний дэд систем, I/O болон файлын системүүд
    • Холбогдсон гадаад хуваалт дээрх тодорхой хэрэглэгчийн файлуудыг одоогийн системийн өөр хэрэглэгчтэй харьцуулахад ашигладаг, холбогдсон файлын системийн хэрэглэгчийн ID-г үүрлэсэн зураглал хийх боломжийг хэрэгжүүлсэн. Нэмэлт функц нь зураглалыг аль хэдийн ашигласан файлын системийн дээд талд рекурсив байдлаар зураглалыг ашиглах боломжийг танд олгоно.
    • Сүлжээний файлын системээр дамжуулж буй өгөгдлийн локал файлын систем дэх кэшийг зохион байгуулахад ашигладаг fscache дэд системийг бүрэн шинэчилсэн. Шинэ хэрэгжилт нь кодыг ихээхэн хялбаршуулж, объектын төлөвийг төлөвлөх, хянах нарийн төвөгтэй үйлдлүүдийг илүү энгийн механизмаар сольсон гэдгээрээ онцлог юм. Шинэ fscache-ийн дэмжлэгийг CIFS файлын системд хэрэгжүүлсэн.
    • Fanotify FS дахь үйл явдлыг хянах дэд систем нь FAN_RENAME үйл явдлын шинэ төрлийг хэрэгжүүлдэг бөгөөд энэ нь танд файл эсвэл лавлахын нэрийг өөрчлөх үйлдлийг шууд таслан зогсоох боломжийг олгодог (өмнө нь нэрийг өөрчлөхөд FAN_MOVED_FROM болон FAN_MOVED_TO хоёр тусдаа үйл явдлыг ашигладаг байсан).
    • Btrfs файлын систем нь зөвхөн индексийн түлхүүрүүдийг хуулж, бүртгэгдсэн мета өгөгдлийн хэмжээг багасгах замаар том сангуудын бүртгэл болон fsync үйлдлүүдийг оновчтой болгосон. Чөлөөт зайн бичлэгийн хэмжээгээр индексжүүлэх, хайхад дэмжлэг үзүүлсэн бөгөөд энэ нь хоцролтыг ойролцоогоор 30%, хайлтын хугацааг багасгасан. Дефрагментацийн үйлдлийг тасалдуулахыг зөвшөөрсөн. Хөтчүүдийн хооронд тэнцвэржүүлэх үед төхөөрөмж нэмэх чадвар идэвхгүй болсон, i.e. skip_balance сонголтоор файлын системийг холбох үед.
    • Ceph файлын системийг холбох шинэ синтаксийг санал болгосон бөгөөд энэ нь IP хаягтай холбоотой одоо байгаа асуудлуудыг шийдвэрлэх болно. Та одоо 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 (Нэг удаа эмхэтгэх - хаа сайгүй ажиллуулах) механизм хэрэгжсэн бөгөөд энэ нь eBPF програмын кодыг зөвхөн нэг удаа эмхэтгэх боломжийг олгодог бөгөөд ачаалагдсан програмыг одоогийн цөм болон BTF төрлүүдэд тохируулдаг тусгай бүх нийтийн дуудагч ашиглах боломжийг олгодог. (BPF төрлийн формат).
    • Хувийн нэргүй (malloc-ээр хуваарилагдсан) санах ойн хэсгүүдэд нэр өгөх боломжтой бөгөөд энэ нь дибаг хийх, санах ойн хэрэглээг оновчтой болгоход хялбар болгодог. Нэрсийг PR_SET_VMA_ANON_NAME туг бүхий prctl-ээр оноож, /proc/pid/maps болон /proc/pid/smaps-д "[anon: ]".
    • Даалгаврын хуваарь гаргагч нь процессор хэт халах үед ачааллыг багасгахад ашигладаг албадан сул зогсолт дахь процессуудад зарцуулсан цагийг /proc/PID/хуваариар хянах, харуулах боломжийг олгодог.
    • Туршилтанд зориулж GPIO чипийг дуурайх зориулалттай gpio-sim модулийг нэмсэн.
    • Хоцролтын мэдээлэл бүхий гистограм үүсгэхийн тулд "perf ftrace" командад "хоцролт" дэд командыг нэмсэн.
    • Ажилд бодит цаг хугацаанд дүн шинжилгээ хийх "RTLA" хэрэгслүүдийн багцыг нэмсэн. Үүнд osnoise (даалгаврыг гүйцэтгэхэд үйлдлийн системийн нөлөөллийг тодорхойлдог) болон timerlat (таймертай холбоотой саатлыг өөрчилдөг) зэрэг хэрэгслүүд багтдаг.
    • Хоёрдахь цуврал засварууд нь нийлмэл хуудастай төстэй боловч семантикийг сайжруулж, ажлын зохион байгуулалтыг илүү тодорхой болгосон хуудасны хуудасны үзэл баримтлалыг хэрэгжүүлэхтэй нэгтгэсэн. Томыг ашиглах нь зарим цөмийн дэд системүүдийн санах ойн менежментийг хурдасгах боломжийг олгодог. Санал болгож буй засварууд нь хуудасны кэшийг tomes ашиглах болгон хувиргаж дуусгасан бөгөөд XFS файлын систем дэх tomes-ийн анхны дэмжлэгийг нэмсэн.
    • "Make mod2noconfig" бүтээх горимыг нэмсэн бөгөөд энэ нь бүх идэвхгүй дэд системүүдийг цөмийн модуль хэлбэрээр цуглуулдаг тохиргоог үүсгэдэг.
    • Цөмийг бүтээхэд ашиглаж болох LLVM/Clang хувилбарт тавигдах шаардлагыг нэмэгдүүлсэн. Одоо бүтээхэд хамгийн багадаа LLVM 11 хувилбар шаардлагатай.
  • Виртуалчлал ба аюулгүй байдал
    • /dev/random болон /dev/urandom төхөөрөмжүүдийн ажиллагааг хариуцдаг псевдо санамсаргүй тоо үүсгэгч RDRAND-ийн шинэчлэгдсэн хувилбарыг санал болгож байна. Энэ нь энтропи холих үйл ажиллагаанд SHA2-ийн оронд BLAKE1s хэш функцийг ашиглахад шилжсэнээрээ онцлог юм. Энэхүү өөрчлөлт нь асуудалтай SHA1 алгоритмыг арилгаж, RNG эхлүүлэх векторыг дарж бичихийг арилгаснаар псевдо санамсаргүй тоо үүсгэгчийн аюулгүй байдлыг сайжруулсан. BLAKE2s алгоритм нь гүйцэтгэлийн хувьд SHA1-ээс давуу тул түүнийг ашиглах нь гүйцэтгэлд эерэг нөлөө үзүүлсэн.
    • Болзолгүй урагшлах үйлдлүүдийн дараа зааврын таамаглалаар гүйцэтгэсэн процессоруудын эмзэг байдлаас хамгаалах хамгаалалт нэмэгдсэн. Санах ой дахь салбар зааврын (SLS, Шулуун шугамын таамаглал) нэн даруй зааврыг урьдчилан боловсруулсны улмаас асуудал үүсдэг. Хамгаалахыг идэвхжүүлэхийн тулд GCC 12-ын одоо туршиж байгаа хувилбараар барих шаардлагатай.
    • Лавлагааны тооллогыг (дахин тоолох, лавлагаа тоолох) хянах механизмыг нэмсэн бөгөөд энэ нь санах ойг чөлөөлсний дараа санах ойд хандахад хүргэдэг лавлагааны тооллогын алдааны тоог бууруулахад чиглэгддэг. Энэ механизм нь одоогоор сүлжээний дэд системээр хязгаарлагдаж байгаа боловч ирээдүйд цөмийн бусад хэсгүүдэд дасан зохицож болно.
    • Процессын санах ойн хуудасны хүснэгт дэх шинэ оруулгуудын өргөтгөсөн шалгалтыг хэрэгжүүлсэн бөгөөд энэ нь тодорхой төрлийн эвдрэлийг илрүүлэх, системийг зогсоох, халдлагыг эрт үе шатанд хаах боломжийг олгодог.
    • Цөмийн модулиудыг хэрэглэгчийн орон зай дахь зохицуулагчаар бус шууд цөмөөр задлах боломжийг нэмсэн нь LoadPin LSM модулийг ашиглан баталгаажуулсан хадгалах төхөөрөмжөөс цөмийн модулиудыг санах ойд ачаалах боломжийг олгодог.
    • "-Wcast-function-type" туг бүхий угсралтаар хангагдсан бөгөөд энэ нь функцийн заагчийг тохирохгүй төрөлд шилжүүлэх тухай анхааруулга өгөх боломжийг олгодог.
    • Xen hypervisor-д зориулсан виртуал хост драйвер pvUSB нэмэгдсэн нь зочны системд дамжуулагдсан USB төхөөрөмжүүдэд хандах боломжийг олгодог (зочин системд зочны системд хуваарилагдсан физик USB төхөөрөмжид хандах боломжийг олгодог).
    • Орчин үеийн ихэнх эх хавтангуудад Intel процессортой байдаг бөгөөд CPU-ээс хамааралгүй ажилладаг тусдаа микропроцессор хэлбэрээр хэрэгждэг IME (Intel Management Engine) дэд системтэй Wi-Fi-аар харилцах боломжийг олгодог модуль нэмэгдсэн.
    • ARM64 архитектурын хувьд цөм доторх уралдааны нөхцлийг динамикаар илрүүлэх зорилготой KCSAN (Цөмийн зэрэгцээ ариутгагч) дибаг хийх хэрэгсэлд дэмжлэг үзүүлсэн.
    • 32 битийн ARM системүүдийн хувьд санах ойтой ажиллах үед алдаа илрүүлэх KFENCE механизмыг ашиглах боломжийг нэмсэн.
    • KVM гипервизор нь удахгүй гарах Intel Xeon Scalable сервер процессоруудад хэрэгжсэн AMX (Advanced Matrix Extensions) зааврыг дэмждэг.
  • Сүлжээний дэд систем
    • Сүлжээний төхөөрөмжүүдийн хажуу талд замын хөдөлгөөний удирдлагатай холбоотой ачаа буулгах үйлдлүүдийн дэмжлэгийг нэмсэн.
    • Цуваа төхөөрөмжүүд дээр MCTP (Management Component Transport Protocol) ашиглах боломжийг нэмсэн. 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 хандалтын цэг, 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 драйверийг нэмсэн.
    • Андройд платформтой хамт ирдэг 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 болон TCMSTX043015 дэлгэцийн дэлгэцXNUMX дэлгэцийн дэмжлэгийг нэмсэн.
    • AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, NAU8825/MAX98390 ашигладаг Intel систем, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texasx Instruments, Texasx Instruments зэрэг дууны систем болон кодлогчийн дэмжлэгийг нэмсэн. Tegra320 HD-аудиотой холбоотой асуудлууд шийдэгдсэн. CS3L194 кодлогчдод HDA дэмжлэг нэмсэн. Lenovo болон HP зөөврийн компьютерууд болон Гигабайт эх хавтангийн дууны системийг сайжруулсан.

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

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