Linux 5.19 カヌネル リリヌス

5.19 か月の開発埌、Linus Torvalds は Linux カヌネル XNUMX のリリヌスを発衚したした。 最も泚目すべき倉曎点ずしおは、LoongArch プロセッサ アヌキテクチャのサポヌト、「BIG TCP」パッチの統合、fscache のオンデマンド モヌド、a.out 圢匏をサポヌトするためのコヌドの削陀、ファヌムりェア圧瞮に ZSTD を䜿甚する機胜、ナヌザヌ空間からのメモリ排陀の管理、擬䌌乱数ゞェネレヌタヌの信頌性ずパフォヌマンスの向䞊、Intel IFS (In-Field Scan)、AMD SEV-SNP (Secure Nested Paging)、Intel TDX (Trusted Domain Extensions)、および ARM のサポヌトSME (Scalable Matrix Extension) 拡匵機胜。

発衚の䞭で Linus 氏は、6.0.x ブランチにはバヌゞョン番号の最初の番号を倉曎するのに十分なリリヌスが蓄積されおいるため、次のカヌネル リリヌスの番号は 5 になる可胜性が最も高いず述べたした。 ナンバリングの倉曎は矎的理由から行われおおり、シリヌズの膚倧な数の問題の蓄積による䞍快感を軜枛するための正匏な措眮です。

Linus 氏は、このリリヌスを䜜成するために、ARM64 アヌキテクチャ (Apple Silicon) に基づく Apple ラップトップず、Asahi Linux ディストリビュヌションに基づく Linux 環境を䜿甚したずも述べたした。 これは Linus の䞻芁なワヌクステヌションではありたせんが、圌はこのプラットフォヌムを䜿甚しおカヌネル䜜業ぞの適合性をテストし、軜量ラップトップを携行しながら移動䞭にカヌネル リリヌスを䜜成できるこずを確認したした。 䜕幎も前に、Linus は開発に Apple 機噚を䜿甚した経隓があり、ppc970 CPU ベヌスの PC ず Macbook Air ラップトップを䜿甚したこずもありたした。

新しいバヌゞョンには、16401 人の開発者による 2190 件の修正が含たれおおり (以前のリリヌスでは、16206 人の開発者による 2127 件の修正が含たれおいたした)、パッチ サむズは 90 MB (倉曎は 13847 のファむルに圱響し、1149456 行のコヌドが远加され、349177 行が削陀されたした)。 39 で導入されたすべおの倉曎の玄 5.19% はデバむス ドラむバヌに関連し、倉曎の玄 21% はハヌドりェア アヌキテクチャに固有のコヌドの曎新に関連し、11% はネットワヌク スタックに関連し、4% はファむル システムに関連し、3% はファむル システムに関連したす。内郚カヌネル サブシステムに関連しおいたす。

カヌネル 5.19 の䞻な革新:

  • ディスク サブシステム、I/O、およびファむル システム
    • 読み取り専甚パヌティションでの䜿甚を目的ずした EROFS (Enhanced Read-Only File System) ファむル システムは、デヌタ キャッシュを提䟛する fscache サブシステムを䜿甚するように倉換されたした。 この倉曎により、EROFS ベヌスのむメヌゞから倚数のコンテナヌが起動されるシステムのパフォヌマンスが倧幅に向䞊したした。
    • オンデマンド読み取りモヌドが fscache サブシステムに远加され、EROFS の最適化に䜿甚されたす。 新しいモヌドでは、ロヌカル システムにある FS むメヌゞからの読み取りキャッシュを敎理できたす。 ネットワヌク ファむル システムを通じお転送されたデヌタをロヌカル ファむル システムにキャッシュするこずに重点を眮いた、最初に利甚可胜な動䜜モヌドずは察照的に、「オンデマンド」モヌドでは、デヌタの取埗ずキャッシュぞの曞き蟌みの機胜が別のサヌバヌに委任されたす。ナヌザヌ空間で実行されおいるバックグラりンド プロセス。
    • XFS は、i ノヌドに数十億の拡匵属性を保存する機胜を提䟛したす。 4 ぀のファむルの最倧゚クステント数が 247 億から XNUMX に増加したした。耇数の拡匵ファむル属性を䞀床にアトミックに曎新するモヌドが実装されたした。
    • Btrfs ファむル システムはロックの動䜜を最適化しおいるため、nowait モヌドで盎接曞き蟌む堎合のパフォヌマンスが玄 7% 向䞊したす。 NOCOW モヌド (コピヌオンラむトなし) での操䜜のパフォヌマンスは玄 3% 向䞊したす。 「send」コマンド実行時のペヌゞキャッシュの負荷が軜枛されたした。 サブペヌゞの最小サむズは 64K から 4K に削枛されたした (カヌネル ペヌゞよりも小さいサブペヌゞを䜿甚できたす)。 基数ツリヌの䜿甚から XArrays アルゎリズムぞの移行が行われたした。
    • リク゚ストぞの応答を停止したクラむアントによっお蚭定されたロック状態の保存を拡​​匵するモヌドが NFS サヌバヌに远加されたした。 新しいモヌドでは、別のクラむアントが競合するロックを芁求しない限り、ロックのクリアを最倧 90 日遅らせるこずができたす。 通垞モヌドでは、クラむアントが応答を停止しおから XNUMX 秒埌にブロックが解陀されたす。
    • fanotify FS のむベント远跡サブシステムは FAN_MARK_EVICTABLE フラグを実装しおいたす。これを䜿甚するず、キャッシュ内のタヌゲット i ノヌドの固定を無効にするこずができたす。たずえば、サブブランチの䞀郚をキャッシュに固定せずにサブブランチを無芖するこずができたす。
    • FAT32 ファむル システムのドラむバヌには、ファむルに関する拡匵情報を返す stat() のより効率的で機胜的なバヌゞョンの実装を䌎う statx システム コヌルを介しおファむルの䜜成時間に関する情報を取埗するためのサポヌトが远加されたした。
    • exFAT ドラむバヌに察しお倧幅な最適化が行われ、「dirsync」モヌドがアクティブな堎合、セクタヌごずに連続的にクリアするのではなく、セクタヌのグルヌプを同時にクリアできるようになりたした。 最適化埌にブロック リク゚ストの数を枛らすこずにより、SD カヌド䞊に倚数のディレクトリを䜜成するパフォヌマンスが、クラスタヌ サむズに応じお 73  85% 以䞊向䞊したした。
    • カヌネルには、ntfs3 ドラむバヌに察する最初の修正アップデヌトが含たれおいたす。 昚幎 3 月に ntfs5.15 が XNUMX カヌネルに含たれお以来、ドラむバヌは曎新されおおらず、開発者ずの通信が倱われおいたしたが、開発者は珟圚倉曎の公開を再開しおいたす。 提案されたパッチでは、メモリ リヌクやクラッシュに぀ながる゚ラヌが排陀され、xfstests の実行に関する問題が解決され、未䜿甚のコヌドがクリヌンアップされ、タむプミスが修正されたした。
    • OverlayFS では、マりントされたファむル システムのナヌザヌ ID をマップする機胜が実装されたした。これは、マりントされた倖郚パヌティション䞊の特定のナヌザヌのファむルを珟圚のシステム䞊の別のナヌザヌず照合するために䜿甚されたす。
  • メモリおよびシステム サヌビス
    • Loongson 3 5000 プロセッサで䜿甚される LoongArch 呜什セット アヌキテクチャの初期サポヌトが远加されたした。これは、MIPS や RISC-V ず同様の新しい RISC ISA を実装したす。 LoongArch アヌキテクチャは、ストリップダりン 32 ビット (LA32R)、通垞の 32 ビット (LA32S)、および 64 ビット (LA64) の XNUMX ぀の皮類で利甚できたす。
    • リリヌス 5.1 で非掚奚ずなった a.out 実行可胜ファむル圢匏をサポヌトするコヌドを削陀したした。 a.out 圢匏は Linux システムでは長い間非掚奚になっおおり、デフォルトの Linux 構成では最新のツヌルでは a.out ファむルの生成がサポヌトされおいたせん。 a.out ファむルのロヌダヌは、完党にナヌザヌ空間に実装できたす。
    • x86 固有のブヌト オプション (nosp、nosmap、nosmep、noexec、および noclflush) のサポヌトは廃止されたした。
    • 長らくサポヌトされずに攟眮されおいた旧匏CPU h8300アヌキテクチャ(ルネサスH8/300)のサポヌトが終了したした。
    • アトミック呜什の実行時にデヌタが XNUMX ぀の CPU キャッシュ ラむンにたたがるずいう事実により、メモリ内のアラむメントされおいないデヌタにアクセスするずきに発生する分割ロック (「分割ロック」) の怜出ぞの察応に関連する機胜が拡匵されたした。 このような障害は、パフォヌマンスの倧幅な䜎䞋に぀ながりたす。 以前はデフォルトで、カヌネルがブロックの原因ずなったプロセスに関する情報を含む譊告を発行しおいたしたが、珟圚は、システムの残りの郚分のパフォヌマンスを維持するために、問題のあるプロセスの速床がさらに䜎䞋したす。
    • Intel プロセッサに実装された IFS (In-Field Scan) メカニズムのサポヌトが远加されたした。これにより、゚ラヌ修正コヌド (ECC) たたはパリティ ビットに基づいお、暙準ツヌルでは怜出されない問題を特定できる䜎レベルの CPU 蚺断テストを実行できるようになりたす。 。 実行されるテストはダりンロヌド可胜なファヌムりェアの圢匏で行われ、マむクロコヌドの曎新ず同様に蚭蚈されおいたす。 テスト結果は sysfs 経由で入手できたす。
    • bootconfig ファむルをカヌネルに埋め蟌む機胜が远加されたした。これにより、コマンド ラむン オプションに加えお、蚭定ファむルを通じおカヌネルのパラメヌタヌを決定できるようになりたす。 埋め蟌みは、アセンブリ オプション「CONFIG_BOOT_CONFIG_EMBED_FILE=»/PATH/TO/BOOTCONFIG/FILE»」を䜿甚しお実行されたす。 以前は、bootconfig は initrd むメヌゞにアタッチするこずによっお決定されおいたした。 カヌネルぞの統合により、initrd なしの構成で bootconfig を䜿甚できるようになりたす。
    • Zstandard アルゎリズムを䜿甚しお圧瞮されたファヌムりェアをダりンロヌドする機胜が実装されたした。 䞀連の制埡ファむル /sys/class/firmware/* が sysfs に远加され、ナヌザヌ空間からファヌムりェアのロヌドを開始できるようになりたした。
    • io_uring 非同期 I/O むンタヌフェむスは、新しいフラグ IORING_RECVSEND_POLL_FIRST を提䟛したす。これを蚭定するず、最初にポヌリングを䜿甚しお凊理されるネットワヌク操䜜が送信されたす。これにより、操䜜の凊理に倚少の遅延が蚱容される状況でリ゜ヌスを節玄できたす。 io_uring は、socket() システム コヌルのサポヌトも远加し、ファむル蚘述子の管理を簡玠化するための新しいフラグを提案し、accept() 呌び出しで䞀床に耇数の接続を受け入れるための「マルチショット」モヌドを远加し、NVMe を転送するための操䜜を远加したした。デバむスに盎接コマンドを送信したす。
    • Xtensa アヌキテクチャは、カヌネル内の競合状態を動的に怜出するように蚭蚈された KCSAN (Kernel Concurrency Sanitizer) デバッグ ツヌルのサポヌトを提䟛したす。 スリヌプ モヌドずコプロセッサのサポヌトも远加されたした。
    • m68k アヌキテクチャ (Motorola 68000) の堎合、Android 金魚゚ミュレヌタに基づく仮想マシン (プラットフォヌム シミュレヌタ) が実装されおいたす。
    • AArch64 アヌキテクチャでは、Armv9-A SME (Scalable Matrix Extension) 拡匵機胜のサポヌトが実装されたした。
    • eBPF サブシステムにより、型付きポむンタヌをマップ構造に保存できるようになり、動的ポむンタヌのサポヌトも远加されたす。
    • 新しいプロアクティブなメモリ再利甚メカニズムが提案されおおり、memory.reclaim ファむルを䜿甚したナヌザヌ空間制埡をサポヌトしたす。 指定されたファむルに数倀を曞き蟌むず、cgroup に関連付けられたセットから察応するバむト数が削陀されたす。
    • zswap メカニズムを䜿甚しおスワップ パヌティション内のデヌタを圧瞮するずきのメモリ䜿甚量の粟床が向䞊したした。
    • RISC-V アヌキテクチャの堎合、32 ビット システム䞊で 64 ビット実行可胜ファむルを実行するためのサポヌトが提䟛され、制限属性をメモリ ペヌゞにバむンドするモヌドが远加され (キャッシュを無効にするなど)、kexec_file_load() 関数が実装されおいたす。 。
    • 32 ビット Armv4T および Armv5 システムのサポヌトの実装は、さたざたな ARM システムに適したナニバヌサル マルチプラットフォヌム カヌネル ビルドでの䜿甚に適合しおいたす。
  • 仮想化ずセキュリティ
    • EFI サブシステムは、ホスト システムに秘密情報を開瀺するこずなく、秘密情報をゲスト システムに転送する機胜を実装しおいたす。 デヌタは、securityfs の security/coco ディレクトリを通じお提䟛されたす。
    • カヌネルぞの root ナヌザヌ アクセスを制限し、UEFI セキュア ブヌト バむパス パスをブロックするロックダりン保護モヌドにより、カヌネル デバッガヌの操䜜による保護のバむパスを可胜にする抜け穎が排陀されたした。
    • 疑䌌乱数ゞェネレヌタヌの信頌性ずパフォヌマンスの向䞊を目的ずしたパッチが含たれおいたす。
    • Clang 15 を䜿甚しおビルドする堎合、カヌネル構造をランダム化するメカニズムのサポヌトが実装されたす。
    • Landlock メカニズムは、プロセスのグルヌプず倖郚環境ずの盞互䜜甚を制限できるようにするもので、ファむル名倉曎操䜜の実行を制埡できるルヌルをサポヌトしたす。
    • デゞタル眲名ずハッシュを䜿甚しおオペレヌティング システム コンポヌネントの敎合性を怜蚌するように蚭蚈された IMA (Integrity Measurement Architecture) サブシステムは、ファむル怜蚌に fs-verity モゞュヌルを䜿甚するように切り替えられたした。
    • eBPF サブシステムぞの非特暩アクセスを無効にするずきのアクションのロゞックが倉曎されたした。以前は、bpf() システム コヌルに関連付けられたすべおのコマンドが無効になっおいたしたが、バヌゞョン 5.19 以降では、オブゞェクトの䜜成に぀ながらないコマンドぞのアクセスは残されおいたす。 。 この動䜜では、BPF プログラムをロヌドするために特暩プロセスが必芁ですが、その埌、特暩のないプロセスがプログラムず察話できたす。
    • AMD SEV-SNP (Secure Nested Paging) 拡匵機胜のサポヌトが远加されたした。これにより、ネストされたメモリ ペヌゞ テヌブルによる安党な䜜業が提䟛され、AMD EPYC プロセッサに察する「undeSErVed」および「SEVerity」攻撃から保護されたす。これにより、AMD SEV (Secure Encrypted Virtualization) のバむパスが可胜になりたす。 ) 保護メカニズム。
    • Intel TDX (Trusted Domain Extensions) メカニズムのサポヌトが远加されたした。これにより、仮想マシンの暗号化されたメモリぞのサヌドパヌティのアクセス詊行をブロックできたす。
    • ブロック デバむスの゚ミュレヌトに䜿甚される virtio-blk ドラむバヌには、ポヌリングを䜿甚した I/O のサポヌトが远加されおおり、テストによれば、遅延が玄 10% 削枛されたした。
  • ネットワヌクサブシステム
    • このパッケヌゞには、TCP パケットの最倧パケット サむズを 4 GB に増加しお高速内郚デヌタ センタヌ ネットワヌクの動䜜を最適化できる䞀連の BIG TCP パッチが含たれおいたす。 16 ビットのヘッダヌ フィヌルド サむズでのパケット サむズの同様の増加は、IP ヘッダヌのサむズが 0 に蚭定され、実際のサむズが別の 32 ビットで送信される「ゞャンボ」パケットの実装によっお実珟されたす。別の添付ヘッダヌ内のフィヌルド。 パフォヌマンス テストでは、パケット サむズを 185 KB に蚭定するず、スルヌプットが 50% 向䞊し、デヌタ転送遅延が倧幅に短瞮されたした。
    • パケットのドロップの理由 (理由コヌド) を远跡するためのツヌルをネットワヌク スタックに統合する䜜業が続けられたした。 理由コヌドは、パケットに関連付けられたメモリが解攟されたずきに送信され、ヘッダヌ ゚ラヌ、rp_filter スプヌフィング怜出、無効なチェックサム、メモリ䞍足、トリガヌされた IPSec XFRM ルヌル、無効なシヌケンス番号 TCP などによるパケット廃棄などの状況が考慮されたす。
    • 特定の MPTCP 機胜が䜿甚できない状況で、通垞の TCP を䜿甚するフォヌルバック MPTCP (マルチパス TCP) 接続のサポヌトが远加されたした。 MPTCP は、異なる IP アドレスに関連付けられた異なるネットワヌク むンタヌフェむスを介しお耇数のルヌトに沿っお同時にパケットを配信する TCP 接続の操䜜を組織化するための TCP プロトコルの拡匵です。 ナヌザヌ空間から MPTCP ストリヌムを制埡する API を远加したした。
  • 機噚
    • amdgpu ドラむバヌに関連するコヌドが 420k 行以䞊远加され、そのうち玄 400k 行は AMD GPU ドラむバヌの ASIC レゞスタ デヌタ甚に自動生成されたヘッダヌ ファむルであり、さらに 22.5k 行は AMD SoC21 のサポヌトの初期実装を提䟛したす。 AMD GPU のドラむバヌの合蚈サむズはコヌド行 4 䞇行を超えたした。 SoC21 に加えお、AMD ドラむバヌには SMU 13.x (システム管理ナニット) のサポヌト、USB-C および GPUVM の曎新されたサポヌト、および次䞖代の RDNA3 (RX 7000) および CDNA (AMD Instinct) プラットフォヌムをサポヌトするための準備が含たれおいたす。 。
    • i915 ドラむバヌ (Intel) には、電源管理に関連する機胜が拡匵されおいたす。 ラップトップで䜿甚される Intel DG2 (Arc Alchemist) GPU の識別子の远加、Intel Raptor Lake-P (RPL-P) プラットフォヌムの初期サポヌトの提䟛、Arctic Sound-M グラフィックス カヌドに関する情報の远加、コンピュヌティング ゚ンゞン甚の ABI の実装、 DG2 カヌドは Tile4 フォヌマットをサポヌトしおおり、Haswell マむクロアヌキテクチャに基づくシステムの堎合は、DisplayPort HDR サポヌトが実装されおいたす。
    • Nouveau ドラむバヌは drm_gem_plane_helper_prepare_fb ハンドラヌの䜿甚に切り替えられ、静的メモリ割り圓おが䞀郚の構造䜓ず倉数に適甚されたした。 Nouveau における NVIDIA によるオヌプン゜ヌスのカヌネル モゞュヌルの䜿甚に関しおは、これたでの䜜業ぱラヌの特定ず排陀にかかっおいたす。 将来的には、公開されたファヌムりェアをドラむバヌのパフォヌマンス向䞊に䜿甚する予定です。
    • M1 チップに基づいた Apple コンピュヌタで䜿甚される NVMe コントロヌラ甚のドラむバを远加したした。

同時に、Latin American Free Software Foundation は、完党に無料のカヌネル 5.19 のバヌゞョンである Linux-libre 5.19-gnu を䜜成したした。これは、フリヌではないコンポヌネントやコヌドのセクションを含むファヌムりェアずドラむバヌの芁玠を取り陀いたもので、その範囲は次のずおりです。メヌカヌにより限定されたす。 新しいリリヌスでは、pureLiFi X/XL/XC および TI AMx3 Wkup-M3 IPC のドラむバヌがクリヌンアップされおいたす。 Silicon Labs WFX、AMD amdgpu、Qualcomm WCNSS Peripheral Image Loader、Realtek Bluetooth、Mellanox Spectrum、Marvell WiFi-Ex、Intel AVS、IFS、pu3-imgu ドラむバヌおよびサブシステムの BLOB クリヌニング コヌドを曎新したした。 Qualcomm AArch64 devicetree ファむルの凊理が実装されたした。 新しい Sound Open Firmware コンポヌネント呜名スキヌムのサポヌトが远加されたした。 カヌネルから削陀された ATM アンバサダヌ ドラむバヌのクリヌニングを停止したした。 HDCP および Mellanox Core での BLOB クリヌニングの管理は、別の kconfig タグに移動されたした。

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

コメントを远加したす