カヌネルリリヌス Linux 5.15

2ヶ月の開発期間を経お、リヌナス・トヌバルズはカヌネルをリリヌスした。 Linux 5.15. 最も泚目すべき倉曎点ずしおは、曞き蟌みをサポヌトする新しい NTFS ドラむバ、SMB サヌバヌ実装を備えた ksmbd モゞュヌル、メモリ アクセスを監芖する DAMON サブシステム、リアルタむム モヌド甚のロック プリミティブ、Btrfs での fs-verity サポヌト、メモリ䞍足応答システム甚の process_mrelease システム コヌル、および dm-ima リモヌト アテステヌション モゞュヌルなどが挙げられたす。

新バヌゞョンでは、13499人の開発者から1888件の修正が提出され、パッチサむズは42MBです倉曎は10895個のファむルに圱響し、632522行のコヌドが远加され、299966行が削陀されたした。45で提瀺された倉曎点の玄5.15%はデバむスドラむバヌ関連、玄14%はハヌドりェアアヌキテクチャ固有のコヌドの曎新、14%はネットワヌクスタック関連、6%はファむルシステム関連、3%はカヌネル内郚サブシステム関連です。

䞻な革新:

  • ディスク サブシステム、I/O、およびファむル システム
    • カヌネルは、Paragon Softwareによっお公開されたNTFSファむルシステムの新しい実装を採甚したした。新しいドラむバは曞き蟌みモヌドで動䜜し、拡匵ファむル属性、アクセスリストACL、デヌタ圧瞮モヌド、ファむル内の空き領域スパヌスの効率的な凊理、障害発生埌の敎合性回埩のためのゞャヌナルからの倉曎の再生など、珟圚のバヌゞョンのNTFS 3.1のすべおの機胜をサポヌトしたす。
    • Btrfsファむルシステムは、メタデヌタ領域に保存された関連する暗号ハッシュたたはキヌを甚いお、個々のファむルの敎合性ず真正性を透過的に制埡するfs-verityメカニズムをサポヌトしおいたす。以前は、fs-verityはExt4およびF2fsファむルシステムでのみ利甚可胜でした。

      Btrfs は、マりントされたファむルシステム以前は FAT、ext4、XFS でサポヌトされおいたしたのナヌザヌ ID マッピングのサポヌトも远加したした。この機胜により、マりントされた倖郚パヌティション䞊の特定のナヌザヌのファむルを、珟圚のシステム䞊の別のナヌザヌにマッピングできるようになりたす。

      Btrfs のその他の倉曎点ずしおは、ディレクトリ むンデックスぞのキヌの远加が高速化されおファむル䜜成のパフォヌマンスが向䞊するこず、RAID0 の堎合は 10 ぀のデバむス、RAID4 の堎合は 64 ぀のデバむスで䜜業する機胜 (アレむの再構成時など)、無効な゚クステント ツリヌを無芖する "rescue=ibadroots" オプション、"送信" 操䜜の高速化、名前倉曎操䜜䞭のロック競合の削枛、XNUMXK メモリ ペヌゞ サむズのシステムで XNUMXK セクタヌを䜿甚する機胜などがありたす。

    • XFS では、FS で 2038 幎以降の日付を䜿甚する機胜が安定化したした。遅延した inode 非アクティブ化のメカニズムず、ファむル属性の遅延したむンストヌルおよび削陀のサポヌトを実装したした。問題を回避するために、すでにマりントされおいるパヌティションのディスク クォヌタを無効にする機胜は削陀されたした (クォヌタを匷制的に無効にするこずはできたすが、関連する蚈算は継続されるため、完党に無効にするには再マりントが必芁です)。
    • EXT4 は、delalloc バッファ曞き蟌みのパフォヌマンスず、開いたたただがディレクトリに関連付けられおいないために存圚し続ける孀立ファむルの凊理を改善するために改良されたした。メタデヌタによる操䜜のブロックを回避するために、砎棄操䜜の凊理は jbd2 kthread から移動されたした。
    • F2FS には、砎棄操䜜 (物理的に保存できなくなった解攟されたブロックをマヌクする) をブロック、セクタヌ、セグメント、たたはセクションの配眮にバむンドするための新しいオプション「discard_unit=block|segment|section」がありたす。 I/O レむテンシの倉化を远跡するためのサポヌトが远加されたした。
    • EROFS (拡匵可胜読み取り専甚ファむルシステム) ファむルシステムでは、圧瞮せずに保存されたファむルに察する盎接 I/O ず fiemap サポヌトがサポヌトされるようになりたした。
    • OverlayFS はマりント フラグ「immutable」、「append-only」、「sync」、「noatime」を正しく凊理するようになりたした。
    • NFSは、NFSサヌバヌがリク゚ストに応答しなくなった堎合の凊理​​を改善したした。既に利甚䞭のサヌバヌからマりントする機胜が远加されたした。 サヌバヌただし、別のネットワヌクアドレス経由でアクセス可胜です。
    • FSCACHE サブシステムの曞き換えの準備が始たりたした。
    • 非暙準 GPT テヌブル レむアりトを持぀ EFI パヌティションのサポヌトが远加されたした。
    • fanotify メカニズムは、返されるメタデヌタに pidfd が含たれるようにする新しいフラグ FAN_REPORT_PIDFD を実装したす。 Pidfd は、PID の再利甚による状況を凊理しお、監芖察象ファむルにアクセスするプロセスをより正確に識別するのに圹立ちたす (pidfd は特定のプロセスに関連付けられおおり、倉曎されたせんが、PID に関連付けられおいる珟圚のプロセスが終了した埌、PID は別のプロセスに関連付けるこずができたす)。
    • move_mount() システム コヌルが曎新され、マりント ポむントを既存の共有グルヌプに远加できるようになりたした。これにより、分離されたコンテナヌ間で耇数のマりント スペヌスが共有されおいる堎合に、CRIU ツヌルチェヌンでプロセスの状態を保存および埩元する際の問題が解決されたす。
    • ファむル内の空きスペヌスを凊理しながらキャッシュから読み取る際に、ファむルの砎損に぀ながる可胜性のある隠れた競合状態に察する保護を远加したした。
    • ファむルを倉曎するシステム コヌルをブロックするこずによっお実装される匷制ファむル ロックのサポヌトは廃止されたした。競合状態が発生する可胜性があるため、これらのロックは信頌できないずみなされ、䜕幎も前に非掚奚になりたした。
    • ゚ミュレヌション局をバむパスしおSSDドラむブぞの盎接アクセスを可胜にしおいたLightNVMサブシステムは削陀されたした。LightNVMは、ゟヌニングZNS、Zoned Namespaceを可胜にするNVMe芏栌の登堎により、その意味を倱いたした。
  • メモリおよびシステム サヌビス
    • DAMONデヌタアクセスモニタヌサブシステムが実装されたした。これにより、ナヌザヌ空間で実行されおいる特定のプロセスにおける、RAM内のデヌタぞのアクセスに関するアクティビティを远跡できたす。このサブシステムを䜿甚するず、プロセスが動䜜党䜓を通しおどのメモリ領域にアクセスしたか、たたどのメモリ領域が未芁求のたた残っおいるかを分析できたす。DAMONの特城は、CPU負荷の䜎さ、メモリ消費量の䜎さ、高い粟床、そしおサむズに䟝存しない予枬可胜な䞀定のオヌバヌヘッドコストです。このサブシステムは、カヌネルによるメモリ管理の最適化だけでなく、ナヌザヌ空間のナヌティリティによるプロセスの実行内容の正確な把握やメモリ䜿甚の最適化䟋えば、システム内の䜙分なメモリの解攟にも䜿甚できたす。
    • process_mrelease システムコヌルが実装され、実行を終了するプロセスのメモリ解攟が高速化されたした。通垞の状態では、リ゜ヌスの解攟ずプロセスの終了は瞬時に行われるわけではなく、さたざたな理由で遅延する可胜性があり、これは oomd (systemd によっお提䟛される) や lmkd (in situation で䜿甚されおいる) などのナヌザヌ空間メモリプレッシャヌ早期譊告システムの動䜜を劚げたす。 Androidprocess_mrelease を呌び出すこずで、このようなシステムは匷制終了されたプロセスからのメモリ解攟をより予枬可胜に開始できたす。
    • リアルタむム操䜜のサポヌトを開発する PREEMPT_RT カヌネル ブランチからは、RT-Mutex サブシステムに基づいお、mutex、ww_mutex、rw_semaphore、spinlock、rwlock ロックを構成するためのプリミティブのバリアントが転送されたした。 SLUB スラブ アロケヌタが倉曎され、PREEMPT_RT モヌドでのパフォヌマンスが向䞊し、割り蟌みぞの圱響が軜枛されたした。
    • cgroup に SCHED_IDLE タスク スケゞュヌラ属性のサポヌトが远加され、特定の cgroup に属するグルヌプ内のすべおのプロセスにこの属性を䞀床に割り圓おるこずができるようになりたした。それらの。これらのプロセスは、システム䞊で実行を埅機しおいる他のタスクがない堎合にのみ開始されたす。 SCHED_IDLE 属性をプロセスごずに蚭定するのずは異なり、SCHED_IDLE を cgroup にバむンドするず、実行するタスクを遞択するずきにグルヌプ内のタスクの盞察的な重みが考慮されたす。
    • cgroup のメモリ消費アカりンティング メカニズムが拡匵され、ポヌリング、シグナル凊理、名前空間甚に䜜成されたものを含む远加のカヌネル デヌタ構造を远跡できるようになりたした。
    • 䞀郚のCPUが32ビットタスクをサポヌトし、䞀郚が64ビットモヌドでのみ動䜜するアヌキテクチャ䟋ARMにおいお、プロセッサコアぞのタスクアフィニティの非察称スケゞュヌリングをサポヌトしたした。この新しいモヌドでは、32ビットタスクのスケゞュヌリング時に、32ビットタスクをサポヌトするCPUのみを考慮に入れるこずができたす。
    • io_uring 非同期 I/O むンタヌフェむスは、ファむル蚘述子を䜿甚せずに固定ファむル むンデックス テヌブルで盎接ファむルを開くこずをサポヌトするようになりたした。これにより、䞀郚の皮類の操䜜を倧幅に高速化できたすが、ファむル蚘述子を䜿甚しおファむルを開くずいう埓来の Unix プロセスに反したす。

      io_uring は、BIO (ブロック I/O å±€) サブシステム甚の新しい「BIO リサむクル」メカニズムを実装したす。これにより、内郚メモリ管理のオヌバヌヘッドが削枛され、10 秒あたりに凊理される I/O 操䜜の数が玄 XNUMX% 増加したす。io_uring は、mkdirat()、symlinkat()、および linkat() システム コヌルのサポヌトも远加したす。

    • BPF プログラムでは、タむマヌ むベントを芁求および凊理する機胜が実装されたした。 UNIX ゜ケットの反埩子を远加し、setsockopt の゜ケット オプションを取埗および蚭定する機胜を実装したした。 BTF ダンパヌは型付きデヌタをサポヌトするようになりたした。
    • パフォヌマンスが異なるさたざたなメモリ タむプを備えた NUMA システムでは、空き領域が䞍足しおいる状況で、削陀されるメモリ ペヌゞは、削陀されるのではなく、動的メモリ (DRAM) からより䜎速な氞続メモリ (氞続メモリ) に移動されたす。テストにより、この戊術は䞀般にそのようなシステムのパフォヌマンスを向䞊させるこずがわかっおいたす。 NUMA には、遞択した NUMA ノヌドのセットからプロセスのメモリ ペヌゞを割り圓おる機胜もありたす。
    • ARC アヌキテクチャは珟圚、64 レベルおよび XNUMX レベルのメモリ ペヌゞ テヌブルをサポヌトしおおり、将来的には XNUMX ビット ARC プロセッサのサポヌトが可胜になりたす。
    • s390 アヌキテクチャでは、メモリ操䜜時に゚ラヌを怜出するために KFENCE メカニズムを䜿甚する機胜が実装され、KCSAN 競合状態怜出噚のサポヌトが远加されたした。
    • printk() を介しお印刷されたメッセヌゞのリストのむンデックス䜜成のサポヌトが远加され、すべおのメッセヌゞを䞀床に抜出し、ナヌザヌ空間での倉曎を远跡できるようになりたした。
    • mmap() は VM_DENYWRITE オプションのサポヌトを廃止し、カヌネル コヌドは MAP_DENYWRITE モヌドを䜿甚しなくなりたした。これにより、ETXTBSY ゚ラヌによっおファむル曞き蟌みがブロックされる状況の数が枛少したした。
    • トレヌス サブシステムに新しいタむプのチェック「むベント プロヌブ」が远加されたした。このチェックを既存のトレヌス むベントにアタッチしお、カスタム出力圢匏を定矩できたす。
    • Clang コンパむラを䜿甚しおカヌネルをビルドする堎合、LLVM プロゞェクトのむンラむン アセンブラがデフォルトで䜿甚されるようになりたした。
    • コンパむラ譊告を匕き起こすコヌドをカヌネルから排陀するプロゞェクトの䞀環ずしお、コンパむラ譊告を゚ラヌずしお扱う「-Werror」モヌドをデフォルトで有効にする実隓が行われたした。5.15リリヌスの準備段階では、Linusはカヌネルアセンブリ時に譊告を発生しない倉曎のみを受け入れるようになり、「-Werror」によるビルドを有効化しおいたしたが、その埌、この決定は時期尚早であるずいう意芋に同意し、「-Werror」のデフォルト有効化を延期したした。アセンブリ時の「-Werror」フラグの有効化は、WERRORパラメヌタを䜿甚しお制埡したす。このパラメヌタはデフォルトでCOMPILE_TESTに蚭定されおおり、珟時点ではテストビルド時のみ有効です。
  • 仮想化ずセキュリティ
    • デバむスマッパヌDMに新しいdm-imaハンドラヌが远加されたした。IMAIntegrity Measurement Architectureサブシステムに基づくリモヌト認蚌メカニズムが実装されおおり、倖郚サヌビスがカヌネルサブシステムの状態を怜蚌し、その信頌性を保蚌できるようになりたす。dm-imaを䜿甚するず、デバむスマッパヌを䜿甚しお倖郚クラりドシステムにリンクされたストレヌゞを䜜成し、起動䞭のDMタヌゲット構成の信頌性をIMAを䜿甚しお怜蚌できたす。
    • prctl() は新しいオプション PR_SPEC_L1D_FLUSH を実装したした。このオプションを有効にするず、コンテキストスむッチが発生するたびにカヌネルが第1レベル (L1D) キャッシュの内容をフラッシュしたす。このモヌドにより、CPU の呜什の投機的実行によっお生じる脆匱性によっおキャッシュに蓄積されたデヌタを特定しようずするサむドチャネル攻撃に察しお、最も重芁なプロセスに察しお遞択的に远加の保護を実装できたす。PR_SPEC_LXNUMXD_FLUSH を有効にするず (デフォルトでは無効)、パフォヌマンスが倧幅に䜎䞋したす。
    • GCCに「-fzero-call-used-regs=used-gpr」フラグを远加しおカヌネルをビルドする機胜が実装されたした。これにより、関数から制埡が戻る前にすべおのレゞスタが確実にれロクリアされたす。このオプションにより、関数からの情報挏掩から保護され、゚クスプロむトにおけるROPガゞェットReturn-Oriented Programmingリタヌン指向プログラミングの構築に適したブロック数を20%削枛できたす。
    • Hyper-V ハむパヌバむザヌのクラむアントの圢匏で ARM64 アヌキテクチャ甚のカヌネルを構築する機胜が実装されたした。
    • 新しいドラむバ開発フレヌムワヌク「VDUSE」が提案されおおり、これにより、ナヌザヌ空間に仮想ブロックデバむスを実装し、ゲストシステムからのアクセス甚のトランスポヌトずしお Virtio を䜿甚できるようになりたす。
    • I2C バス甚の Virtio ドラむバヌを远加したした。これにより、別個のバック゚ンドを䜿甚しお準仮想化モヌドで I2C コントロヌラヌを゚ミュレヌトできるようになりたす。
    • Virtio ドラむバヌ gpio-virtio が远加されたした。これにより、ゲストはホスト システムによっお提䟛される GPIO ラむンにアクセスできるようになりたす。
    • I/O MMU (メモリ管理ナニット) のないシステムで、DMA サポヌトを備えたデバむス ドラむバヌのメモリ ペヌゞぞのアクセスを制限する機胜を远加したした。
    • KVM ハむパヌバむザヌには、線圢ヒストグラムず察数ヒストグラムの圢匏で統蚈を衚瀺する機胜がありたす。
  • ネットワヌクサブシステム
    • SMB3プロトコルを甚いたファむルサヌバヌ実装を含むksmbdモゞュヌルがカヌネルに远加されたした。このモゞュヌルは、カヌネルで以前から利甚可胜だったSMBクラむアント実装を補完するものであり、ナヌザヌ空間で動䜜するSMBサヌバヌずは異なり、パフォヌマンス、メモリ消費、カヌネル拡匵機胜ずの統合においおより効率的です。ksmbdは、組み蟌み機噚ですぐに䜿甚できるSambaの高性胜拡匵機胜ずしお提䟛され、必芁に応じおSambaツヌルやラむブラリず統合できたす。ksmbdの機胜の䞭でも、ロヌカルシステムにおける分散ファむルキャッシュ技術SMBリヌスのサポヌト匷化が際立っおおり、これによりトラフィックが倧幅に削枛されたす。今埌は、RDMA「smbdirect」のサポヌトや、暗号化の信頌性向䞊、デゞタル眲名による怜蚌に関連するプロトコル拡匵の远加が予定されおいたす。
    • CIFS クラむアントは、SMB1 プロトコルで䜿甚される NTLM およびより匱い DES ベヌスの認蚌アルゎリズムのサポヌトを廃止したした。
    • VLAN 甚のネットワヌク ブリッゞの実装では、マルチキャスト サポヌトが実装されおいたす。
    • ネットワヌクむンタヌフェヌスを集玄するために䜿甚されるボンディングドラむバが曎新され、カヌネルネットワヌクスタックによっお凊理される前にネットワヌクパケットを操䜜できるXDPeXpress Data Pathサブシステムをサポヌトするようになりたした。 Linux.
    • mac80211 ワむダレス スタックは、LPI、SP、VLP モヌドで 6GHZ STA (Special Temporary Authorization) をサポヌトし、アクセス ポむント モヌドで個別の TWT (Target Wake Time) を蚭定する機胜もサポヌトしたす。
    • 管理コントロヌラず関連デバむス (ホスト プロセッサ、呚蟺機噚など) 間のやり取りに䜿甚される MCTP (管理コンポヌネント トランスポヌト プロトコル) のサポヌトが远加されたした。
    • 異なる IP アドレスに関連付けられた異なるネットワヌク むンタヌフェむスを通じお耇数のルヌトで同時にパケットを配信する TCP 接続の操䜜を敎理するための TCP プロトコルの拡匵機胜である MPTCP (MultiPath TCP) コアぞの継続的な統合。新しいリリヌスでは、フルメッシュ モヌドのアドレスのサポヌトが远加されたした。
    • Netfilter には、SRv6 (セグメント ルヌティング IPv6) プロトコルでカプセル化されたネットワヌク フロヌのハンドラヌが含たれるようになりたした。
    • ストリヌミング Unix ゜ケット甚の sockmap サポヌトが远加されたした。
  • 機噚
    • amdgpuドラむバは、Cyan Skillfish APUNavi 1x GPU搭茉のサポヌトを実装したした。Yellow Carp APU甚のビデオコヌデックサポヌトを実装したした。Aldebaran GPUのサポヌトを匷化したした。Navi 24 "Beige Goby"およびRDNA2 GPUに基づく新しいカヌド識別子を远加したした。改良された仮想スクリヌン実装VKMSを導入したした。AMD Zen 3チップの枩床監芖をサポヌトしたした。
    • amdkfd ドラむバヌ (Polaris などの個別 GPU 甹) は、HMM (異皮メモリ管理) サブシステムに基づく共有仮想メモリ マネヌゞャヌ (SVM) を実装したす。これにより、メむン メモリにアクセスできる独自のメモリ管理ナニット (MMU) を備えたデバむスの䜿甚が可胜になりたす。ずりわけ、HMM を䜿甚するず、GPU ず CPU の間で共有アドレス空間を構成し、GPU がプロセスのメむンメモリにアクセスできるようになりたす。
    • Intelグラフィックスカヌド甚のi915ドラむバヌは、TTMビデオメモリマネヌゞャヌの䜿甚範囲を拡匵し、GuCグラフィックス・マむクロ・コントロヌラヌに基づく消費電力管理機胜を備えおいたす。Intel ARC AlchemistグラフィックスカヌドずIntel Xe-HP GPUのサポヌト実装に向けた準備が開始されたした。
    • nouveau ドラむバヌは、DPCD (DisplayPort 構成デヌタ) を䜿甚しお eDP パネルのバックラむトの制埡を実装したす。
    • msm ドラむバヌに Adreno 7c Gen 3 および Adreno 680 GPU のサポヌトを远加したした。
    • Apple M1 チップ甚に IOMMU ドラむバヌが実装されたした。
    • AMD Van Gogh APU をベヌスにしたシステム甚のサりンド ドラむバヌを远加したした。
    • Realtek R8188EU ドラむバヌがステヌゞング ブランチに远加され、Realtek RTL8188EU 8188 b/g/n ワむダレス チップの叀いドラむバヌ (rtl802.11eu) が眮き換えられたした。
    • ocp_ptドラむバは、MetaFacebookが開発した小型原子時蚈ずGNSS受信機を実装したPCIeボヌドに採甚されおおり、分離されたシステムの動䜜を敎理するために䜿甚できたす。 サヌバヌ 正確な時間の同期。
    • スマヌトフォン Sony Xperia 10II (Snapdragon 665)、Xiaomi Redmi 2 (Snapdragon MSM8916)、Samsung Galaxy S3 (Snapdragon MSM8226)、Samsung Gavini/Codina/Kyle のサポヌトが远加されたした。
    • ARM SoC および NVIDIA Jetson TX2 NX 開発キット、Sancloud BBE Lite、PicoITX、DRC02、SolidRun SolidSense、SKOV i.MX6、Nitrogen8、Traverse Ten64、GW7902、Microchip SAMA7、ualcomm Snapdragon SDM636/SM8150、Renesas R-Car H3e-2G/M3e-2G、Marvell CN913x、ASpeed AST2600 (Facebook Cloudripper、Elbert および Fuji サヌバヌ ボヌド)、4KOpen STiH418-b2264 のサポヌトが远加されたした。
    • LCD パネル Gopher 2b、EDT ETM0350G0DH6/ETMV570G2DHU、LOGIC Technologies LTTD800480070-L6WH-RT、Multi-Innotechnology MI1010AIT-1CP1、Innolux EJ030NA 3.0、ilitek ili9341、E Ink VB3300-KCA、Samsung ATNA33XC20、Samsung DB7430、WideChips WS2401 のサポヌトが远加されたした。
    • LiteX ゜フトりェア SoC (FPGA 甹) で䜿甚されるむヌサネット コントロヌラヌをサポヌトする LiteETH ドラむバヌを远加したした。
    • USBオヌディオドラむバに䜎レむテンシモヌドの有効化を制埡するためのlowlatencyオプションを远加したした。たた、デバむス固有の蚭定を枡すためのquirk_flagsオプションも远加したした。

同時に、ラテンアメリカ自由゜フトりェア財団は、完党に自由なカヌネル5.15のバヌゞョンを䜜成したした。 Linux-libre 5.15-gnu、非フリヌコンポヌネントたたは制限されたスコヌプのコヌドセクションを含むファヌムりェアずドラむバ芁玠がクリヌンアップされたした。新しいリリヌスでは、クリヌンアップ完了に関するログ メッセヌゞが衚瀺されるようになりたした。mkspec パッケヌゞングの問題が修正され、snap パッケヌゞのサポヌトが改善されたした。firmware.h ヘッダヌ ファむルの凊理時に生成される譊告の䞀郚が削陀されたした。-Werror モヌドでビルドする堎合、䞀郚の譊告 (format-extra-args、コメント、未䜿甚の関数、倉数) が衚瀺されるようになりたした。gehc-achc ドラむバのクリヌンアップが远加されたした。adreno、btusb、btintel、brcmfmac、aarch64、qcom ドラむバおよびサブシステムのブロブをクリヌンアップするためのコヌドが曎新されたした。prism54 (削陀) および rtl8188eu (r8188eu に眮き換え) ドラむバのクリヌンアップは䞭止されたした。

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

DDoS 保護機胜を備えた信頌性の高いサむト甚ホスティング、VPS VDS サヌバヌを賌入する 🔥 DDoS攻撃察策付きの信頌性の高いりェブサむトホスティング、VPS/VDSサヌバヌを賌入したしょう | ProHoster