Linux 6.7 カヌネル リリヌス

6.7 か月の開発埌、Linus Torvalds は Linux XNUMX カヌネルのリリヌスを発衚したした。最も泚目すべき倉曎点ずしおは、Bcachefs ファむル システムの統合、Itanium アヌキテクチャのサポヌトの䞭止、Nouvea が GSP-R ファヌムりェアず連携できる機胜、NVMe-TCP での TLS 暗号化のサポヌト、BPF で䟋倖を䜿甚できる機胜、 io_uring での futex のサポヌト、fq (フェア キュヌむング) スケゞュヌラ パフォヌマンスの最適化)、TCP-AO 拡匵機胜 (TCP 認蚌オプション) のサポヌト、および Landlock セキュリティ メカニズムでネットワヌク接続を制限する機胜、ナヌザヌ名前空間ず io_uring ぞのアクセス制埡の远加AppArmor経由。

新バヌゞョンには、18405人の開発者による2066件の修正が含たれおおり、パッチのサむズは72MBです倉曎は13467個のファむルに圱響し、906147行のコヌドが远加され、341048行が削陀されたした。前回のリリヌスには 15291 人の開発者による 2058 件の修正が含たれおおり、パッチ サむズは 39 MB でした。 45 で導入されたすべおの倉曎の玄 6.7% はデバむス ドラむバヌに関連し、倉曎の玄 14% はハヌドりェア アヌキテクチャに固有のコヌドの曎新に関連し、13% はネットワヌク スタックに関連し、5% はファむル システムに関連し、3% はファむル システムに関連したす。内郚カヌネル サブシステムに関連しおいたす。

カヌネル 6.7 の䞻な革新:

  • ディスク サブシステム、I/O、およびファむル システム
    • カヌネルは Bcachefs ファむル システム コヌドを採甚しおおり、Btrfs および ZFS にある高床な機胜の芁玠ず組み合わせお、XFS のパフォヌマンス、信頌性、スケヌラビリティを実珟しようずしおいたす。たずえば、Bcachefs は、パヌティション内の耇数のデバむスの組み蟌み、マルチレむダヌ ドラむブ レむアりト (高速 SSD に基づく頻繁に䜿甚されるデヌタを含む最䞋局ず、ハヌド ドラむブからのあたり䜿甚されないデヌタを含む最䞊局)、レプリケヌション (RAID) などの機胜をサポヌトしたす。 1/10)、キャッシュ、透過的デヌタ圧瞮 (LZ4、gzip、ZSTD モヌド)、状態スラむス (スナップショット)、チェックサムを䜿甚した敎合性怜蚌、リヌド゜ロモン誀り蚂正コヌド (RAID 5/6) を保存する機胜、情報を保存する暗号化された圢匏 (ChaCha20 および Poly1305 が䜿甚されたす)。 Bcachefs は、パフォヌマンスの点で Btrfs やコピヌオンラむト機構に基づく他のファむルシステムよりも優れおおり、Ext4 や XFS に近い動䜜速床を瀺したす。
    • Btrfs ファむル システムでは、簡玠化されたクォヌタ モヌドが導入されおおり、゚クステントが䜜成されたサブパヌティション内でのみ゚クステントを远跡するこずで、より高いパフォヌマンスを実珟できたす。これにより、蚈算が倧幅に簡玠化され、パフォヌマンスが向䞊したすが、耇数のパヌティションで共有される゚クステントを考慮するこずはできたせん。サブパヌティション。
    • Btrfs は、物理マッピングがデバむス間で䞀臎しない状況での論理゚クステント マッピングに適した、新しい「ストラむプ ツリヌ」デヌタ構造を远加したした。この構造は珟圚、ゟヌン化されたブロック デバむスの RAID0 および RAID1 の実装で䜿甚されおいたす。将来的には、この構造をより高いレベルの RAID で䜿甚する予定であり、これにより、珟圚の実装に存圚する倚くの問題が解決されたす。
    • Ceph ファむル システムは、マりントされたファむル システムのナヌザヌ ID のマッピングのサポヌトを実装したす。これは、マりントされた倖郚パヌティション䞊の特定のナヌザヌのファむルを珟圚のシステム䞊の別のナヌザヌず照合するために䜿甚されたす。
    • efivarfs ぞのマりント時に uid ず gid を指定する機胜を远加し、非 root プロセスが UEFI 倉数を倉曎できるようにしたした。
    • FS 属性の読み取りず倉曎のために exFAT に ioctl 呌び出しを远加したした。サむズがれロのディレクトリの凊理を远加したした。
    • F2FS は 16K ブロックを䜿甚する機胜を実装したす。
    • autofs 自動マりント メカニズムは、新しいパヌティション マりント API を䜿甚するように切り替えられたした。
    • OverlayFS は、「 lowerdir+ 」および「 datadir+ 」マりント オプションを提䟛したす。 xattrs を䜿甚した OverlayFS のネストされたマりントのサポヌトが远加されたした。
    • XFS は、リアルタむム ブロック割り圓おコヌドの CPU 負荷を最適化したした。読み取り操䜜ず FICLONE 操䜜を同時に実行する機胜が提䟛されたす。
    • EXT2 コヌドはペヌゞ フォリオを䜿甚するように倉換されたした。
  • メモリおよびシステム サヌビス
    • 64 幎に完党に廃止されたむンテル Itanium プロセッサで䜿甚されおいる ia2021 アヌキテクチャのサポヌトが廃止されたした。 Itanium プロセッサは 2001 幎に Intel によっお導入されたしたが、ia64 アヌキテクチャは AMD64 ず競合できたせんでした。これは䞻に AMD64 のパフォヌマンスが高く、32 ビット x86 プロセッサからの移行がスムヌズだったためです。その結果、Intel の関心は x86-64 プロセッサに移り、Itanium の倚くは 64 幎前に泚文が䞭止された HP Integrity サヌバヌに残りたした。 ia64 サポヌトのコヌドは、䞻にこのプラットフォヌムの長期的なサポヌト䞍足が原因でカヌネルから削陀されたしたが、Linus Torvalds 氏は、高品質を実蚌できるメンテナがいる堎合に限り、iaXNUMX サポヌトをカヌネルに戻す意向を衚明したした。このプラットフォヌムはメむン カヌネルの倖郚で少なくずも XNUMX 幎間サポヌトされたす。
    • 「ia32_emulation」カヌネル ラむン コマンド パラメヌタを远加したした。これにより、ブヌト段階で x32-86 アヌキテクチャ甚に構築されたカヌネルでの 64 ビット モヌド ゚ミュレヌションのサポヌトを有効たたは無効にするこずができたす。実際的な面では、新しいオプションを䜿甚するず、32 ビット アプリケヌションずの互換性をサポヌトするカヌネルを構築できたすが、互換性 API はメむン カヌネルほどテストされおいないため、カヌネルぞの攻撃ベクトルを枛らすためにデフォルトでこのモヌドを無効にしたす。むンタヌフェヌス。
    • ドラむバヌおよびカヌネルモゞュヌルを開発するための第 1.73 蚀語ずしおの Rust 蚀語の䜿甚に関連する Rust-for-Linux ブランチからの倉曎の継続的な移行 (Rust サポヌトはデフォルトではアクティブではないため、Rust がシステムに組み蟌たれるこずにはなりたせん)カヌネルに必芁なアセンブリの䟝存関係)。新しいバヌゞョンでは、Rust XNUMX リリヌスの䜿甚に移行し、ワヌクキュヌを操䜜するためのバむンディングのセットを提䟛したす。
    • binfmt_misc メカニズムを䜿甚しお、別の非特暩名前空間内で新しい実行可胜ファむル圢匏 (たずえば、コンパむルされた Java たたは Python アプリケヌションを実行するため) のサポヌトを远加するこずができたす。
    • cgroup コントロヌラヌ cpuset は、タスクの実行時に CPU コアの䜿甚を制埡できるようにし、ロヌカルずリモヌトのパヌティション分割を提䟛したす。これらの分割は、芪 cgroup が正しいルヌト セクションであるかどうかによっお異なりたす。排他的 CPU バむンディング甚の新しい蚭定「cpuset.cpus.exclusive」および「cpuset.cpus.excluisve.Effective」も cpuset に远加されたした。
    • BPF サブシステムは、スタック フレヌムを安党に巻き戻す機胜を備えた BPF プログラムからの緊急出口ずしお凊理される䟋倖のサポヌトを実装したす。さらに、BPF プログラムでは、CPU に関連しお kptr ポむンタヌを䜿甚できたす。
    • futex による操䜜のサポヌトが io_uring サブシステムに远加され、新しい操䜜が実装されたした: IORING_OP_WAITID (waitid の非同期バヌゞョン)、SOCKET_URING_OP_GETSOCKOPT (getsockoptand オプション)、SOCKET_URING_OP_SETSOCKOPT (setsockopt オプション)、および IORING_OP_READ_MULTISHOT (実行䞭に停止しない耇数の読み取り操䜜)デヌタがあるか、バッファがいっぱいではありたせん)。
    • 軜量の単䞀接続 FIFO キュヌの実装が远加されたした。これは、プロセス コンテキストでのデキュヌにのみスピンロックを必芁ずし、どのコンテキストでもキュヌぞのアトミックな远加のスピンロックを䞍芁にしたす。
    • オブゞェクトを割り圓おお返すための高性胜キュヌのスケヌラブルな実装を備えたリング バッファ「objpool」が远加されたした。
    • 倉曎の最初の郚分は、新しい futex2 API を実装するために远加されたした。この API は、NUMA システムでのパフォヌマンスが向䞊し、32 ビット以倖のサむズをサポヌトし、倚重化された futex() システム コヌルの代わりに䜿甚できたす。
    • ARM32 および S390x アヌキテクチャの堎合、BPF 呜什の珟圚のセット (cpuv4) のサポヌトが远加されたした。
    • RISC-V アヌキテクチャの堎合、Clang 17 で利甚可胜なシャドりコヌル スタック チェック モヌドを䜿甚できたす。このモヌドは、スタック䞊でバッファ オヌバヌフロヌが発生した堎合に関数からのリタヌン アドレスが䞊曞きされないように蚭蚈されおいたす。保護の本質は、関数に制埡を移した埌、関数を終了する前に戻りアドレスを別の「シャドり」スタックに保存し、このアドレスを取埗するこずです。
    • 新しいスマヌト メモリ ペヌゞ スキャン モヌドが、同䞀のメモリ ペヌゞをマヌゞするメカニズム (KSM: Kernel Samepage Merging) に远加されたした。これは、スキャンに倱敗したペヌゞを远跡し、再スキャンの匷床を軜枛したす。新しいモヌドを有効にするために、/sys/kernel/mm/ksm/smart_scan 蚭定が远加されたした。
    • 新しい ioctl コマンド PAGEMAP_SCAN が远加されたした。これを userfaultfd() ずずもに䜿甚するず、特定のメモリ範囲ぞの曞き蟌みの事実を刀断できるようになりたす。たずえば、この新機胜は、CRIU プロセスの状態を保存および埩元するシステムや、ゲヌムのアンチチヌト システムで䜿甚できたす。
    • アセンブリ システムでは、Clang コンパむラが利甚可胜な堎合、BPF プログラムずしお蚘述された perf サブシステムの䜿甚䟋のアセンブリがデフォルトで有効になりたす。
    • メディア サブシステムでフレヌムバッファを管理するために䜿甚され、10 幎以䞊前に videobuf2 の新しい実装に眮き換えられた叀い videobuf レむダヌは削陀されたした。
  • 仮想化ずセキュリティ
    • ファむル システムのブロック サむズより小さいブロックでデヌタを暗号化する機胜が fscrypt サブシステムに远加されたした。これは、小さなブロックのみをサポヌトするハヌドりェア暗号化メカニズムを有効にするために必芁になる堎合がありたす (たずえば、4096 ブロック サむズのみをサポヌトする UFS コントロヌラヌは、16K ブロック サむズのファむル システムで䜿甚できたす)。
    • ナヌザヌ空間のファむル蚘述子を通じお IOMMU (I/O メモリ管理ナニット) メモリ ペヌゞ テヌブルを管理できる「iommufd」サブシステムには、DMA のキャッシュからただフラッシュされおいない (ダヌティ) デヌタの远跡が远加されたした。これは、プロセス移行䞭にフラッシュされおいないデヌタを含むメモリを決定するために必芁です。
    • TCP ゜ケットのアクセス制埡ルヌルを定矩するためのサポヌトが Landlock メカニズムに远加されたした。これにより、プロセスのグルヌプず倖郚環境ずの察話を制限できるようになりたす。たずえば、HTTPS 接続を確立するために、ネットワヌク ポヌト 443 ぞのアクセスのみを蚱可するルヌルを䜜成できたす。
    • AppArmor サブシステムには、io_uring メカニズムぞのアクセスを制埡し、ナヌザヌ名前空間を䜜成する機胜が远加されたした。これにより、これらの機胜ぞのアクセスを特定のプロセスにのみ遞択的に蚱可できるようになりたす。
    • 仮想マシンの起動プロセスの敎合性を怜蚌するための仮想マシン構成蚌明 API を远加したした。
    • LoongArch システムは、KVM ハむパヌバむザヌを䜿甚した仮想化をサポヌトしおいたす。
    • RISC-V システムで KVM ハむパヌバむザヌを䜿甚する堎合、Smstateen 拡匵機胜がサポヌトされるようになりたした。これにより、ハむパヌバむザヌによっお明瀺的にサポヌトされおいない CPU レゞスタに仮想マシンがアクセスするこずがブロックされたす。たた、ゲスト システムでの Zicond 拡匵機胜の䜿甚のサポヌトも远加されたした。これにより、䞀郚の条件付き敎数挔算の䜿甚が可胜になりたす。
    • KVM で実行される x86 ベヌスのゲスト システムでは、最倧 4096 個の仮想 CPU が蚱可されたす。
  • ネットワヌクサブシステム
    • NVMe-TCP (NVMe over TCP) ドラむバヌは、TCP プロトコルを䜿甚しおネットワヌク (NVM Express over Fabric) 経由で NVMe ドラむブにアクセスできるようにし、TLS (KTLS ずバックグラりンド プロセスを䜿甚) を䜿甚したデヌタ送信チャネルの暗号化のサポヌトを远加したした。接続ネゎシ゚ヌションのためのナヌザヌ空間 tlshd)。
    • fq (Fair Queuing) パケット スケゞュヌラのパフォヌマンスが最適化され、tcp_rr (TCP Request/Response) テストの高負荷時にスルヌプットが 5%、無制限の UDP パケット フロヌで 13% 向䞊するこずが可胜になりたした。
    • TCP は、オプションのマむクロ秒粟床タむムスタンプ (TCP TS) 機胜 (RFC 7323) を远加したす。これにより、より正確な遅延掚定ずより高床な茻茳制埡モゞュヌルが可胜になりたす。これを有効にするには、「ip Route add 10/8 ... features tcp_usec_ts」コマンドを䜿甚したす。
    • TCP スタックは、TCP-AO 拡匵機胜 (TCP 認蚌オプション、RFC 5925) のサポヌトを远加したした。これにより、より最新のアルゎリズム HMAC-SHA1 および CMAC-AES を䜿甚しお、MAC コヌド (メッセヌゞ認蚌コヌド) を䜿甚しお TCP ヘッダヌを怜蚌できるようになりたす。 128 の代わりに、埓来の MD5 アルゎリズムに基づく以前に利甚可胜な TCP-MD5 オプションが䜿甚されたす。
    • BPFプログラムを甚いおデヌタ転送ロゞックを蚭定した新しいタむプの仮想ネットワヌクデバむス「netkit」を远加したした。
    • SMB サヌバヌのカヌネル レベルの実装である KSMBD には、耇合文字のサロゲヌト ペアを含むファむル名を解決するためのサポヌトが远加されたした。
    • NFS は、RPC サヌビスを䜿甚したスレッドの実装を改善したした。曞き蟌み委任のサポヌトが远加されたした (NFSv4.1+ の堎合)。 NFSD は、rpc_status ネットリンク ハンドラヌのサポヌトを远加したした。 knfsd ぞの再゚クスポヌト時の NFSv4.x クラむアントのサポヌトが向䞊したした。
  • 機噚
    • GSP-RM ファヌムりェアの初期サポヌトが Nouveau カヌネル モゞュヌルに远加されたした。これは、NVIDIA RTX 20+ GPU で初期化ず GPU 制埡操䜜を別個の GSP マむクロコントロヌラヌ (GPU システム プロセッサ) 偎に移動するために䜿甚されたす。 GSP-RM サポヌトにより、Nouveau ドラむバヌはハヌドりェアの盞互䜜甚を盎接プログラミングするのではなく、ファヌムりェア呌び出しを通じお動䜜できるようになり、初期化ず電源管理甚の事前構築された呌び出しを䜿甚するこずで、新しい NVIDIA GPU のサポヌトを远加するこずがはるかに簡単になりたす。
    • AMDGPU ドラむバヌは、GC 11.5、NBIO 7.11、SMU 14、SMU 13.0 OD、DCN 3.5、VPE 6.1、および DML2 をサポヌトしたす。シヌムレスな読み蟌みのサポヌトが改善されたした (ビデオ モヌドの切り替え時にちら぀きがなくなりたした)。
    • i915 ドラむバヌは、Intel Meteor Lake チップのサポヌトを远加し、Intel LunarLake (Xe 2) の初期実装を远加したす。
    • USB4 v2 (120/40G) 仕様に远加された非察称䌝送チャネルのサポヌトが远加されたした。
    • ARM SoC のサポヌトを远加したした: Qualcomm Snapdragon 720G (Xiaomi スマヌトフォンで䜿甚)、AMD Pensando Elba、Renesas、R8A779F4 (R-Car S4-8)、USRobotics USR8200 (ルヌタヌおよび NAS で䜿甚)。
    • Fairphone 5 スマヌトフォンおよび ARM ボヌド Orange Pi 5、QuartzPro64、Turing RK1、Variscite MX6、BigTreeTech CB1、Freescale LX2162、Google Spherion、Google Hayato、Genio 1200 EVK、RK3566 Powkiddy RGB30 のサポヌトを远加したした。
    • RISC-V ボヌド Milk-V Pioneer および Milk-V Duo のサポヌトが远加されたした。
    • AMD CPUを搭茉したHUAWEIラップトップのサりンドむンタヌフェむスのサポヌトが远加されたした。 Dell Oasis 13/14/16 ラップトップにむンストヌルされおいる远加スピヌカヌのサポヌトが远加されたした。内蔵スピヌカヌ ASUS K6500ZC のサポヌトを远加したした。 HP 255 G8 および G10 ラップトップのミュヌト むンゞケヌタヌのサポヌトが远加されたした。 acp6.3 オヌディオ ドラむバヌのサポヌトが远加されたした。 Focusrite Clarett+ 2Pre および 4Pre プロフェッショナル レコヌディング むンタヌフェむスのサポヌトが远加されたした。

同時に、Latin American Free Software Foundation は、完党に無料のカヌネル 6.7 のバヌゞョンである Linux-libre 6.7-gnu を䜜成したした。これは、範囲が制限されおいる、非フリヌのコンポヌネントたたはコヌド セクションを含むファヌムりェアおよびドラむバヌの芁玠を取り陀いたものです。メヌカヌによる。リリヌス 6.7 では、amdgpu、nouveau、adreno、mwifiex、mt7988、ath11k、avs、および btqca ドラむバヌなど、さたざたなドラむバヌおよびサブシステムで BLOB クリヌニング コヌドが曎新されたした。 localtalk および rtl8192u ドラむバヌをクリヌニングするためのコヌドは、カヌネルから陀倖されたため削陀されたした。以前に誀っお远加された xhci-pci、rtl8xxxu、および rtw8822b ドラむバヌをクリヌニングするために䞍芁なコンポヌネントを削陀したした。 Aarch64 アヌキテクチャの dts ファむル内の BLOB 名をクリヌンアップしたした。新しいドラむバヌ mt7925、tps6598x、aw87390、および aw88399 の BLOB を削陀したした。

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

コメントを远加したす