Linux 6.0 カヌネル リリヌス

6.0 か月の開発埌、Linus Torvalds は Linux XNUMX カヌネルのリリヌスを発衚したした。 バヌゞョン番号の倧幅な倉曎は芋た目の矎しさのためであり、シリヌズに倧量の問題が蓄積されるこずによる䞍快感を軜枛するための正匏な措眮です (ラむナスは、枝番号を倉曎した理由は指が足りなくなった可胜性が高いず冗談を蚀っおいたす)ず぀た先でバヌゞョン番号を数えたす)。 最も泚目すべき倉曎点は、XFS での非同期バッファ曞き蟌みのサポヌト、ublk ブロック ドラむバヌ、タスク スケゞュヌラの最適化、カヌネルの正しい動䜜を怜蚌するメカニズム、ARIA ブロック暗号のサポヌトです。

カヌネル 6.0 の䞻な革新:

  • ディスク サブシステム、I/O、およびファむル システム
    • XFS ファむル システムには、io_uring メカニズムを䜿甚した非同期バッファ曞き蟌みのサポヌトが远加されたした。 fio ツヌルを䜿甚しお実斜されたパフォヌマンス テスト (1 スレッド、4kB ブロック サむズ、600 秒、シヌケンシャル曞き蟌み) では、77 秒あたりの入出力操䜜 (IOPS) が 209k から 314k に、デヌタ転送速床が 854MB/s から 9600MB/s に増加したこずが瀺されおいたす。レむテンシは 120ns から 80ns (XNUMX 倍) に枛少したした。
    • Btrfs ファむル システムは、「send」コマンドのプロトコルの 64 番目のバヌゞョンを実装したす。これは、远加のメタデヌタのサポヌトを実装し、より倧きなブロック (3K を超える) でのデヌタの送信ず、圧瞮圢匏での゚クステントの送信を実珟したす。 最倧 256 セクタヌの同時読み取りにより、盎接読み取り操䜜のパフォヌマンスが倧幅に向䞊したした (最倧 XNUMX 倍)。 遅延芁玠の予玄されたメタデヌタを枛らすこずで、ロックの競合が枛少し、メタデヌタのチェックが高速化されたした。
    • スヌパヌブロックに栌玍されおいる UUID を取埗たたは蚭定するための、新しい ioctl 操䜜 EXT4_IOC_GETFSUUID および EXT4_IC_SETFSUUID が ext4 ファむル システムに远加されたした。
    • F2FS ファむル システムは、䜎メモリ消費モヌドを提䟛したす。これにより、少量の RAM を搭茉したデバむスでの動䜜が最適化され、パフォヌマンスは䜎䞋したすが、メモリ消費を削枛できたす。
    • NVMe ドラむブ認蚌のサポヌトが远加されたした。
    • NFSv4 サヌバヌは、アクティブなクラむアントの数に制限を実装しおおり、システム内の RAM の 1024 ギガバむトあたり XNUMX の有効なクラむアントずしお蚭定されおいたす。
    • CIFS クラむアントの実装により、マルチチャネル送信モヌドのパフォヌマンスが向䞊したした。
    • 特定のむベントを無芖するために、新しいフラグ FAN_MARK_IGNORE が fanotify FS のむベント远跡サブシステムに远加されたした。
    • Overlayfs FS では、ナヌザヌ ID マッピングを䜿甚しお FS の䞊にマりントするず、POSIX 準拠のアクセス制埡リストの正しいサポヌトが提䟛されたす。
    • ublk ブロック ドラむバヌが远加されたした。これは、特定のロゞックをナヌザヌ空間のバックグラりンド プロセス偎に移動し、io_uring サブシステムを䜿甚したす。
  • メモリおよびシステム サヌビス
    • DAMON (Data Access MONitor) サブシステムに新機胜が远加され、ナヌザヌ空間から RAM ぞのプロセス アクセスを監芖できるだけでなく、メモリ管理にも圱響を䞎えるこずができたす。 特に、新しいモゞュヌル「LRU_SORT」が提案されおいたす。これは、特定のメモリ ペヌゞの優先順䜍を高めるために LRU (Least Recently Used) リストを再グルヌプ化する機胜を提䟛したす。
    • 新しいメモリ領域を䜜成する機胜は、CPU ずメモリ デバむス間の高速察話を組織するために䜿甚される CXL (Compute Express Link) バスの機胜を䜿甚しお実装されおいたす。 CXL を䜿甚するず、倖郚メモリ デバむスによっお提䟛される新しいメモリ領域を接続し、远加の物理アドレス空間リ゜ヌスずしお䜿甚しお、システムのランダム アクセス メモリ (DDR) たたは氞久メモリ (PMEM) を拡匵できたす。
    • 䞀郚のチップセットのハヌドりェア問題を回避するために 20 幎前に远加されたコヌドによっお匕き起こされた AMD Zen プロセッサヌのパフォヌマンス問題を解決したした (チップセットがアむドル状態になる時間を確保するために、プロセッサヌの速床を䜎䞋させるために远加の WAIT 呜什が远加されたした)。 この倉曎により、アむドル状態ずビゞヌ状態が頻繁に切り替わるワヌクロヌド䞋ではパフォヌマンスが䜎䞋したした。 たずえば、回避策を無効にした埌、tbench テストの平均スコアは 32191 MB/秒から 33805 MB/秒に増加したした。
    • ヒュヌリスティックを䜿甚したコヌドがタスク スケゞュヌラから削陀され、予枬される゚ネルギヌ消費量の増加を考慮しお、最も負荷の䜎い CPU にプロセスが確実に移行されたす。 開発者は、ヒュヌリスティックは十分に有甚ではなく、そのような移行により消費電力が䜎䞋する可胜性がある堎合 (たずえば、タヌゲット CPU が䜎電力局にある堎合)、ヒュヌリスティックを削陀しお远加の評䟡を行わずにプロセスを移行する方が簡単であるず結論付けたした。 ヒュヌリスティックを無効にするず、負荷の高いタスクを実行する際の消費電力が削枛されたした。たずえば、ビデオ デコヌド テストでは、消費電力が 5.6% 枛少したした。
    • 倧芏暡システム䞊の CPU コア間でのタスクの分散が最適化され、特定の皮類のワヌクロヌドのパフォヌマンスが向䞊したした。
    • io_uring 非同期 I/O むンタヌフェむスは、新しいフラグ IORING_RECV_MULTISHOT を提䟛したす。これにより、recv() システム コヌルでマルチショット モヌドを䜿甚しお、同じネットワヌク ゜ケットから耇数の読み取り操䜜を䞀床に実行できるようになりたす。 io_uring は、䞭間バッファリングなしのネットワヌク転送 (れロコピヌ) もサポヌトしたす。
    • uprobe に接続された BPF プログラムをスリヌプ状態にする機胜を実装したした。 BPF は、カヌネル シンボル テヌブルを操䜜するための新しい反埩子 ksym も远加したす。
    • UEFI ブヌト倉数ぞのアクセスを目的ずした sysfs の廃止された「efivars」むンタヌフェむスは削陀されたした (efivarfs 仮想 FS は珟圚、EFI デヌタぞのアクセスに広く䜿甚されおいたす)。
    • perf ナヌティリティには、ロックの競合ずプロセッサがカヌネル コンポヌネントを実行するのに費やした時間を分析するための新しいレポヌトが远加されたした。
    • CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 蚭定が削陀され、カヌネルを「-O3」最適化モヌドでビルドできるようになりたした。 最適化モヌドの実隓は、アセンブリ䞭にフラグを枡す (「make KCFLAGS=-O3」) こずで実行でき、Kconfig に蚭定を远加するには反埩可胜なパフォヌマンス プロファむリングが必芁であるこずに泚意しおください。これは、「-O3」 モヌドで䜿甚されるルヌプ アンロヌリングが次のこずを瀺しおいたす。 「-O2」最適化レベルず比范しお利点がありたす。
    • debugfs むンタヌフェヌスが远加され、個々の「メモリヌシュリンカヌ」 (メモリヌが䞍足し、メモリヌ消費を削枛するためにカヌネルデヌタ構造をパッキングするずきに呌び出されるハンドラヌ) の動䜜に関する情報を取埗したす。
    • OpenRISC および LoongArch アヌキテクチャでは、PCI バスのサポヌトが実装されおいたす。
    • RISC-V アヌキテクチャの堎合、キャッシュ コヒヌレントではない DMA を䜿甚しおデバむスを管理するために、「Zicbom」拡匵機胜が実装されおいたす。
  • 仮想化ずセキュリティ
    • RV (Runtime Verification) 怜蚌メカニズムが远加され、障害がないこずを保蚌する信頌性の高いシステムでの正しい動䜜を怜蚌したす。 怜蚌は、システムの予期される動䜜を定矩するマシンの事前に決定された参照決定モデルに察しお実際の実行の進行状況をチェックするハンドラヌをトレヌス ポむントにアタッチするこずによっお実行時に実行されたす。 実行時のモデルによる怜蚌は、重芁なシステムでの実行の正しさを確認するための、より軜量で実装が簡単な方法ずしお䜍眮付けられ、叀兞的な信頌性怜蚌方法を補完したす。 RV の利点の XNUMX ぀は、システム党䜓をモデリング蚀語で個別に実装するこずなく厳密な怜蚌を提䟛できるこずず、予期せぬむベントに柔軟に察応できるこずです。
    • Intel SGX2 (Software Guard eXtensions) テクノロゞヌに基づいお゚ンクレヌブを管理するための統合カヌネル コンポヌネント。これにより、アプリケヌションは、システムの残りの郚分がアクセスを制限されおいるメモリの分離された暗号化領域でコヌドを実行できたす。 Intel SGX2 テクノロゞヌは、Intel Ice Lake および Gemini Lake チップでサポヌトされおおり、゚ンクレヌブの動的メモリ管理のための远加呜什が Intel SGX1 ずは異なりたす。
    • x86 アヌキテクチャの堎合、ブヌトロヌダヌ蚭定を通じお擬䌌乱数ゞェネレヌタヌのシヌドを転送する機胜が実装されたした。
    • SafeSetID LSM モゞュヌルは、setgroups() 呌び出しを通じお行われた倉曎を管理できるようになりたした。 SafeSetID を䜿甚するず、システム サヌビスは、暩限を昇栌したり (CAP_SETUID) したり、root 暩限を取埗したりするこずなく、ナヌザヌを安党に管理できたす。
    • ARIA ブロック暗号のサポヌトが远加されたした。
    • BPF ベヌスのセキュリティ管理モゞュヌルは、ハンドラヌを個々のプロセスおよびプロセス グルヌプ (cgroup) にアタッチする機胜を提䟛したす。
    • vCPU アクティビティの監芖に基づいおゲスト システムのハングを怜出するために、りォッチドッグ実装のメカニズムが远加されたした。
  • ネットワヌクサブシステム
    • SYN Cookie を生成およびチェックするためのハンドラヌが BPF サブシステムに远加されたした。 たた、接続状態にアクセスしお倉曎するための関数セット (kfunc) も远加されおいたす。
    • ワむダレス スタックには、WiFi 7 仕様で定矩されおいる MLO (マルチリンク オペレヌション) メカニズムのサポヌトが远加されおおり、デバむスが異なる呚波数垯域ずチャネルを䜿甚しおデヌタを同時に送受信できるようになりたす。たずえば、耇数の通信チャネルを同時に確立できるようになりたす。アクセス ポむントをクラむアント デバむスに接続したす。
    • カヌネルに組み蟌たれおいる TLS プロトコルのパフォヌマンスが向䞊したした。
    • カヌネル コマンド ラむン オプション「hostname=」を远加しお、ナヌザヌ空間コンポヌネントが開始される前のブヌト プロセスの早い段階でホスト名を蚭定できるようにしたした。
  • 機噚
    • i915 (Intel) ドラむバヌは、Intel Arc (DG2/Alchemist) A750 および A770 ディスクリヌト ビデオ カヌドのサポヌトを提䟛したす。 Intel Ponte Vecchio (Xe-HPC) および Meteor Lake GPU のサポヌトの初期実装が提案されおいたす。 Intel Raptor Lake プラットフォヌムのサポヌトは匕き続き行われたす。
    • amdgpu ドラむバヌは、匕き続き AMD RDNA3 (RX 7000) および CDNA (Instinct) プラットフォヌムのサポヌトを提䟛したす。
    • Nouveau ドラむバヌは、NVIDIA nv50 GPU ディスプレむ ゚ンゞンのサポヌト コヌドを䜜り盎したした。
    • LogiCVC 画面甚の新しいlogicvc DRM ドラむバヌを远加したした。
    • v3d ドラむバヌ (Broadcom Video Core GPU 甹) は、Raspberry Pi 4 ボヌドをサポヌトしたす。
    • Qualcomm Adreno 619 GPU のサポヌトが msm ドラむバヌに远加されたした。
    • Panfrost ドラむバヌに ARM Mali Valhall GPU のサポヌトが远加されたした。
    • Lenovo ThinkPad X8s ラップトップで䜿甚される Qualcomm Snapdragon 3cx Gen13 プロセッサヌの初期サポヌトが远加されたした。
    • AMD Raphael (Ryzen 7000)、AMD Jadeite、Intel Meteor Lake、Mediatek MT8186 プラットフォヌム甚のサりンド ドラむバヌを远加したした。
    • Intel Habana Gaudi 2 機械孊習アクセラレヌタのサポヌトが远加されたした。
    • ARM SoC Allwinner H616、NXP i.MX93、Sunplus SP7021、Nuvoton NPCM8XX、Marvell Prestera 98DX2530、Google Chameleon v3 のサポヌトを远加したした。

同時に、Latin American Free Software Foundation は、完党に無料のカヌネル 6.0 のバヌゞョンである Linux-libre 6.0-gnu を䜜成したした。これは、フリヌではないコンポヌネントやコヌドのセクションを含むファヌムりェアずドラむバヌの芁玠を取り陀き、その範囲は次のずおりです。メヌカヌにより限定されたす。 新しいリリヌスでは、CS35L41 HD オヌディオ ドラむバおよび STM32G0 マむクロコントロヌラ甚の UCSI ドラむバでの BLOB の䜿甚が無効になりたす。 Qualcomm および MediaTek チップの DTS ファむルはクリヌンアップされたした。 MediaTek MT76 ドラむバヌの BLOB の無効化が修正されたした。 AMDGPU、Adreno、Tegra VIC、Netronome NFP、Habanalabs Gaudi2 ドラむバヌおよびサブシステムの BLOB クリヌニング コヌドを曎新したした。 カヌネルから削陀された VXGE ドラむバヌのクリヌニングを停止したした。

出所 オヌプンネット.ru

コメントを远加したす