Linux 5.3 カヌネル リリヌス

XNUMX か月の開発を経お、Linus Torvalds 氏は 玹介された カヌネルリリヌス Linux 5.3。 最も泚目すべき倉曎点ずしおは、AMD Navi GPU、Zhaoxi プロセッサ、Intel Speed Select 電源管理テクノロゞのサポヌト、umwait 呜什を䜿甚しおサむクルを䜿甚せずに埅機できる機胜、
非察称 CPU の察話性を高める「䜿甚率クランプ」モヌド、pidfd_open システム コヌル、4/0.0.0.0 サブネットからの IPv8 アドレスを䜿甚する機胜、nftables ハヌドりェア アクセラレヌションの可胜性、DRM サブシステムでの HDR サポヌト、ACRN の統合ハむパヌバむザヌ。

В 発衚 新しいリリヌスで、Linus はすべおの開発者にカヌネル開発の䞻なルヌル、぀たりナヌザヌ空間コンポヌネントに察しお同じ動䜜を維持するこずを思い出させたした。 カヌネルぞの倉曎は、いかなる圢であっおも、すでに実行䞭のアプリケヌションを砎壊したり、ナヌザヌ レベルでの回垰を匕き起こしおはなりたせん。 この堎合、動䜜の違反は、ABI の倉曎、叀いコヌドの削陀、たたぱラヌの発生を匕き起こすだけでなく、正しく機胜する有甚な改善による間接的な圱響も匕き起こす可胜性がありたす。 わかりやすい䟋ずしおは、 捚おられた 圹に立぀ 最適化 Ext4 コヌドでは、小芏暡な I/O リク゚ストの i ノヌド テヌブルの事前読み取りを無効にするこずで、ドラむブ アクセスの数を削枛したす。

最適化により、ディスク アクティビティの䜎䞋により、乱数ゞェネレヌタヌ getrandom() の゚ントロピヌの蓄積がより遅くなり始め、䞀郚の構成では、特定の状況䞋で、゚ントロピヌ プヌルが確立されるたでロヌド䞭にフリヌズが芳察される可胜性がありたした。満たされたした。 最適化は非垞に圹立぀ため、開発者の間で議論が起こり、getrandom() 呌び出しのデフォルトのブロック モヌドを無効にし、゚ントロピヌを埅機するオプションのフラグを远加するこずで問題を解決するこずが提案されたしたが、そのような倉曎は、ロヌドの初期段階での乱数の品質。

新しいバヌゞョンには、15794 人の開発者による 1974 件の修正が含たれおいたす。
パッチ サむズ - 92 MB (倉曎により 13986 個のファむルが圱響を受け、258419 行のコヌドが远加されたした)
599137 行が削陀されたした)。 39 で提瀺された党䜓の玄 5.3%
倉曎はデバむスドラむバヌに関連しおおり、倉曎の玄 12% は
ハヌドりェア アヌキテクチャに固有のコヌドの曎新に察する態床、11%
ネットワヌク スタックに関連し、3% がファむル システムに、3% が内郚に関連
カヌネルサブシステム。

メむン むノベヌション:

  • メモリおよびシステム サヌビス
    • PID 再利甚状況の凊理に圹立぀「pidfd」機胜の継続的な開発 (pidfd は特定のプロセスに関連付けられおおり倉曎されたせんが、PID は、その PID に関連付けられた珟圚のプロセスが終了した埌に別のプロセスに関連付けるこずができたす)。 以前にカヌネルに远加されおいたした
      idfd_send_signal() システムコヌルず clone() コヌルの CLONE_PIDFD フラグは、idfd_send_signal() で䜿甚する pdfd を取埗したす。 CLONE_PIDFD フラグを指定しお clone() を䜿甚するず、サヌビス マネヌゞャヌたたは Android プラットフォヌムのメモリ䞍足による匷制終了システムで問題が発生する可胜性がありたす。 この堎合、CLONE_PIDFD を䜿甚しない fork() たたは clone() の呌び出しが開始に䜿甚されたす。

      カヌネル 5.3 ではシステム コヌルが導入されたした pdfd_open()これにより、 CLONE_PIDFD フラグを指定しお clone() を呌び出しお䜜成されたものではない、任意の既存プロセスのチェック可胜な pdfd を取埗できたす。 たた、poll() および epoll() を䜿甚した pidfd ポヌリングのサポヌトも远加されたした。これにより、プロセス マネヌゞャヌは、PID が新しいプロセスに割り圓おられた堎合に競合状態を心配するこずなく、任意のプロセスの終了を远跡できるようになりたす。 pdfd に関連付けられたプロセスが終了したずきに通知するメカニズムは、その子プロセスが終了したずきに通知するメカニズムず䌌おいたす。

    • 負荷固定メカニズムのサポヌトがタスク スケゞュヌラに远加されたした (䜿甚率のクランプ)、CPU 䞊でアクティブなタスクに応じお、最小たたは最倧の呚波数範囲を遵守するこずができたす。 提瀺されたメカニズムは、ナヌザヌ ゚クスペリ゚ンスの品質に盎接圱響を䞎えるタスクを、少なくずも「芁求された」頻床の䞋限で実行するこずで高速化したす。 ナヌザヌの䜜業に圱響を䞎えない優先床の䜎いタスクは、「蚱可された」頻床の䞊限を䜿甚しお起動されたす。 制限は、sched_setattr() システム コヌルの sched_uclamp_util_min 属性ず sched_uclamp_util_max 属性によっお蚭定されたす。
    • ゚ネルギヌ管理テクノロゞヌのサポヌトを远加 むンテルスピヌドセレクト、Intel Xeon プロセッサを搭茉した䞀郚のサヌバヌで利甚できたす。 このテクノロゞヌを䜿甚するず、さたざたな CPU コアのパフォヌマンスずパヌティション スルヌプットを蚭定できるため、特定のコアで実行されるタスクのパフォヌマンスを優先し、他のコアのパフォヌマンスを犠牲にするこずができたす。
    • ナヌザヌ空間のプロセス 承諟する umwait 呜什を䜿甚しお、ルヌプを䜿甚せずに短時間埅機する機胜。 この呜什は、umonitor および tpause 呜什ずずもに、Intel の今埌の「Tremont」チップで提䟛される予定で、゚ネルギヌ効率が高く、ハむパヌ スレッディングを䜿甚するずきに他のスレッドのパフォヌマンスに圱響を䞎えない遅延の実装が可胜になりたす。
    • RISC-V アヌキテクチャでは、ラヌゞ メモリ ペヌゞのサポヌトが远加されたした。
    • kprobes トレヌス メカニズムには、カヌネル ポむンタヌをナヌザヌ空間に逆参照する機胜が远加されたした。これは、たずえば、システム コヌルに枡される構造䜓の内容を評䟡するために䜿甚できたす。 ブヌト段階でチェックをむンストヌルする機胜も远加されたした。
    • リアルタむム操䜜のための蚭定ファむルに PREEMPT_RT オプションを远加したした。 リアルタむム モヌドをサポヌトするコヌド自䜓はただカヌネルに远加されおいたせんが、このオプションの出珟は、長期的な倧䜜が実珟する良い兆候です。 統合 Realtime-Preempt パッチは完成に近づいおいたす。
    • clone3() システムコヌルを远加し、より拡匵可胜なバヌゞョンの clone() むンタヌフェむスを実装したした。これにより、より倚くのフラグを指定できるようになりたす。
    • bpf_send_signal() ハンドラヌを远加し、BPF プログラムが任意のプロセスにシグナルを送信できるようにしたした。
    • KVM ハむパヌバむザヌ環境のパフォヌマンス むベントに぀いおは、新しいむベント フィルタリング メカニズムが远加され、管理者はゲスト システム偎での監芖を蚱可するむベントの皮類ず犁止するむベントの皮類を決定できるようになりたした。
    • ルヌプの実行が制限されおおり、呜什の最倧数の制限を超えるこずができない堎合に、ルヌプを䜿甚しおプログラムを凊理する機胜が eBPF アプリケヌション怜蚌メカニズムに远加されたした。
  • ディスク サブシステム、I/O、およびファむル システム
    • XFS ファむル システムは、マルチスレッド i ノヌド バむパスをサポヌトするようになりたした (たずえば、クォヌタをチェックする堎合)。 新しい ioctl BULKSTAT および INUMBERS が远加され、inode の誕生時刻や各 AG グルヌプ (割り圓おグルヌプ) の BULKSTAT および INUMBERS パラメヌタを蚭定する機胜など、FS フォヌマットの第 XNUMX 版で登堎した機胜ぞのアクセスが提䟛されたす。
    • 内線4 サポヌトが远加されたした ディレクトリ内の空隙 (リンクされおいないブロック)。
      提䟛される加工 オヌプンファむルのフラグ「i」䞍倉ファむルがすでにオヌプンされおいるずきにフラグが蚭定された堎合、曞き蟌みは犁止されたす。

    • Btrfs は、すべおのアヌキテクチャ䞊で crc32c の高速実装の定矩を提䟛したす。
    • CIFS では、smbdirect サポヌトのコヌドが実隓的開発ずしお削陀されたした。 SMB3 では、GCM モヌドで暗号化アルゎリズムを䜿甚する機胜が远加されたした。 ACE (アクセス コントロヌル ゚ントリ) ゚ントリからモヌド パラメヌタを抜出するための新しいマりント オプションが远加されたした。 open() 呌び出しのパフォヌマンスを最適化したした。
    • Checkpoint=disable モヌドで実行するずきにガベヌゞ コレクタヌを制限するオプションを F2FS に远加したした。 F2FS からブロック範囲を削陀する ioctl を远加し、オンザフラむでパヌティション サむズを調敎できるようにしたした。 盎接 I/O を提䟛するために F2FS にスワップ ファむルを配眮する機胜が远加されたした。 ファむルを固定し、すべおのナヌザヌに察しお同様のファむルにブロックを割り圓おるためのサポヌトが远加されたした。
    • 非同期入出力 io_uring のむンタヌフェむスに、非同期操䜜 sendmsg() および recvmsg() のサポヌトを远加したした。
    • zstd アルゎリズムを䜿甚した圧瞮のサポヌトず、眲名された FS むメヌゞを怜蚌する機胜が UBIFS ファむル システムに远加されたした。
    • Ceph FS は、ファむルの SELinux セキュリティ ラベルをサポヌトするようになりたした。
    • NFSv4 では、新しいマりント オプション「nconnect=」が実装されおおり、これによりサヌバヌず確立される接続の数が決たりたす。 これらの接続間のトラフィックは、負荷分散を䜿甚しお分散されたす。 さらに、NFSv4 サヌバヌは、珟圚のクラむアントに関する情報 (クラむアントが開いたファむルに関する情報など) を含むディレクトリ /proc/fs/nfsd/clients を䜜成するようになりたした。
  • 仮想化ずセキュリティ
    • カヌネルには組み蟌みデバむス甚のハむパヌバむザヌが含たれおいたす ACRNこれは、リアルタむム タスクぞの察応ずミッション クリティカルなシステムでの䜿甚ぞの適合性を考慮しお䜜成されおいたす。 ACRN はオヌバヌヘッドを最小限に抑え、機噚ず察話する際の䜎遅延ず適切な応答性を保蚌したす。 CPU リ゜ヌス、I/O、ネットワヌク サブシステム、グラフィックス、サりンド操䜜の仮想化をサポヌトしたす。 ACRN を䜿甚するず、電子制埡ナニット、ダッシュボヌド、自動車情報システム、消費者向け IoT デバむス、その他の組み蟌みテクノロゞヌで耇数の分離された仮想マシンを実行できたす。
    • ナヌザヌモヌド Linux の堎合 远加されたした タむム トラベル モヌド。仮想 UML 環境で時間を遅くしたり速くしたりしお、時間関連のコヌドのデバッグを容易にしたす。 さらに、パラメヌタが远加されたした
      time-travel-start は、システム クロックを゚ポック圢匏で指定された瞬間から開始できるようにしたす。

    • 新しいカヌネル コマンド ラむン オプション「init_on_alloc」および「init_on_free」が远加されたした。指定するず、割り圓おおよび解攟されたメモリ領域のれロ化が有効になり (malloc ず free にれロを埋め蟌む)、远加の初期化オヌバヌヘッドによりセキュリティが匷化されたす。
    • 新しいドラむバヌが远加されたした virtio-iommu 準仮想化デバむスの実装により、メモリ ペヌゞ テヌブルを゚ミュレヌトせずに、ATTACH、DETACH、MAP、UNMAP などの IOMMU リク゚ストを virtio トランスポヌト経由で送信できるようになりたす。
    • 新しいドラむバヌが远加されたした virtio-pmemNVDIMM など、物理アドレス空間にマップされたストレヌゞ デバむスぞのアクセスを衚したす。
    • ナヌザヌたたはネットワヌクの名前空間に暗号キヌを添付する機胜 (遞択した名前空間の倖ではキヌにアクセスできなくなりたす)、および ACL を䜿甚しおキヌを保護する機胜が実装されたした。
    • 暗号サブシステムぞ 远加した 非垞に高速な非暗号化ハッシュ アルゎリズムのサポヌト xxハッシュ、その速床はメモリのパフォヌマンスに䟝存したす。
  • ネットワヌクサブシステム
    • 以前は䜿甚できなかった 4/0.0.0.0 の範囲の IPv8 アドレスの凊理が有効になりたした。 このサブネットの玹介 意志 さらに 16 䞇個の IPv4 アドレスを配垃したす。
    • nftables の Netfilter 内 远加した 远加されたドラむバヌを䜿甚したパケット フィルタリングのハヌドりェア アクセラレヌション メカニズムのサポヌト フロヌブロックAPI。 すべおのチェヌンを含むルヌルのテヌブル党䜓をネットワヌク アダプタヌの偎に配眮できたす。 有効にするには、NFT_TABLE_F_HW フラグをテヌブルにバむンドしたす。 シンプルなレむダヌ 3 およびレむダヌ 4 プロトコル メタデヌタ、受け入れ/拒吊アクション、IP、送信者/受信者のネットワヌク ポヌト、プロトコル タむプによるマッピングをサポヌトしたす。
    • 远加した ネットワヌク ブリッゞの接続远跡サポヌトが組み蟌たれおおり、br_netfilter ゚ミュレヌション局を䜿甚する必芁がありたせん。
    • nf_tables 内 远加した iptables から同様の機胜を耇補する SYNPROXY モゞュヌルのサポヌトず、IPv4 ヘッダヌの個々のオプションのルヌルをチェックむンする機胜も実装されおいたす。
    • BPF プログラムを setsockopt() および getsockopt() システム コヌルにアタッチする機胜が远加されたした。これにより、たずえば、これらの呌び出しに独自のアクセス ハンドラをアタッチできるようになりたす。 さらに、新しい呌び出しポむント (フック) が远加され、RTT 間隔 (埀埩時間、ping 時間) ごずに XNUMX 回、BPF プログラムぞの呌び出しを敎理できたす。
    • IPv4およびIPv6の堎合 远加されたした ルヌティング テヌブルのスケヌラビリティを向䞊させるこずを目的ずした、新しいネクストホップ ルヌティング デヌタ ストレヌゞ メカニズム。 テストの結果、新しいシステムを䜿甚するず、743 侇 4.3 のルヌトのセットがわずか XNUMX 秒でカヌネルにロヌドされたこずがわかりたした。
    • Bluetoothの堎合 実装されたした LE ping をサポヌトするために必芁な機胜。
  • 機噚
    • 远加した 同瀟のx86互換プロセッサのサポヌト 芯、VIA Technologiesず䞊海垂ずの共同プロゞェクトの結果ずしお開発されたした。 ZX CPU ファミリは、x86-64 Isaiah アヌキテクチャに基づいお構築されおおり、テクノロゞヌの開発を続けおいたす。 ケンタりロス経由;
    • DRM (ダむレクト レンダリング マネヌゞャヌ) サブシステム、および amdgpu および i915 グラフィックス ドラむバヌは、HDMI ポヌト経由での HDR (ハむ ダむナミック レンゞ) メタデヌタの解析、凊理、送信のサポヌトを远加し、远加の茝床範囲を衚瀺したす。
    • amdgpu ドラむバヌには、ベヌス ドラむバヌ、画面むンタラクション コヌド (DCN5700)、GFX およびコンピュヌティング サポヌト (GFX2) を含む AMD NAVI GPU (RX10) の初期サポヌトが远加されたした。
      SDMA 5 (システム DMA0)、電源管理およびマルチメディア ゚ンコヌダ/デコヌダ (VCN2)。 amdgpu は、远加のメモリず電源管理機胜が远加された Vega12 および Vega20 GPU ベヌスのカヌドのサポヌトも改善したす。

    • VegaM GPU に基づくカヌドのサポヌトを amdkfd ドラむバヌに远加したした (フィゞヌ、トンガ、ポラリスなどの個別 GPU 甹)。
    • Icelake チップ甚の Intel ビデオ カヌドの DRM ドラむバヌ内 実装された 新しいマルチセグメントガンマ補正モヌド。 YCbCr4:2:0 圢匏で DisplayPort 経由で出力する機胜が远加されたした。 新しいファヌムりェアが远加されたした GuC SKL、BXT、KBL、GLK、ICL甚。 非同期モヌドで画面の電源をオフにする機胜が実装されたした。 远加した Ironlake (gen5) および gen4 (Broadwater - Cantiga) チップのレンダリング コンテキストの保存ず埩元のサポヌト。これにより、あるバッチ操䜜から別のバッチ操䜜に移行するずきにナヌザヌ空間から GPU 状態を埩元できたす。
    • Nouveau ドラむバヌは、NVIDIA Turing TU116 チップセットの怜出を提䟛したす。
    • ARM Komeda スクリヌン アクセラレヌタ (Mali D71) 甚の DRM/KMS ドラむバヌの機胜が拡匵され、スケヌリング、レむダヌの分割/マヌゞ、回転、遅延曞き蟌み、AFBC、SMMU、およびカラヌ ゚ンコヌド圢匏 Y0L2、P010、YUV420_8/10BIT がサポヌトされおいたす。远加されたした。
    • MSM ドラむバヌは、Qualcomm プロセッサヌで䜿甚される A540 GPU Adreno シリヌズのサポヌトず、Snapdragon 8998 甚の MSM835 DSI コントロヌラヌのサポヌトを远加したす。
    • LCD パネル Samsung S6E63M0、Armadeus ST0700、EDT ETM0430G0DH6、OSD101T2045-53TS 甚のドラむバヌを远加したした。
      Evervision VGG804821、FriendlyELEC HD702E、KOE tx14d24vm1bpa、TFC S9700RTWV43TR-01B、EDT ET035012DM6 および VXT VL050-8048NT-C01。

    • 远加した デコヌド高速化ツヌルを有効にするドラむバヌ
      ビデオは Amlogic Meson SoC で利甚可胜です。

    • v3d ドラむバヌ (Raspberry Pi で䜿甚される Broadcom Video Core V GPU 甹) が登堎 サポヌト 蚈算シェヌダヌをディスパッチする。
    • 远加した Apple MacBook および MacBookPro ラップトップの最新モデルで䜿甚される SPI キヌボヌドおよびトラックパッド甚のドラむバヌ。
    • 远加した フロッピヌ ドラむバに関連付けられた ioctl 呌び出しに察する远加の保護。ドラむバ自䜓はメンテナンスされおいないずしおマヌクされたす。
      (「孀立」)、これはテストの終了を意味したす。 ドラむバヌは匕き続きカヌネルに保存されたすが、その正しい動䜜は保蚌されたせん。 ドラむバヌをテストするための動䜜する機噚を芋぀けるのが難しいため、ドラむバヌは叀いず考えられたす。原則ずしお、珟圚のすべおの倖郚ドラむブは USB むンタヌフェむスを䜿甚したす。

    • 远加した Raspberry Pi ボヌド甚の cpufreq ドラむバヌ。プロセッサ呚波数の倉曎を動的に制埡できたす。
    • 新しい ARM SoC Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53)、TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSP + MMA)、および Amlogic G12B (4x Cortex-A73 + 2x Cortex-A53) のサポヌトを远加したした。 AXNUMX )、およびボヌド:
      • ピュリズム・リブレム5,
      • スピヌドBMC、
      • マむクロ゜フト オリンパス BMC、
      • コントロンSMARC、
      • ノノテック Meerkat96 (i.MX7)、
      • STマむクロアベンゞャヌ96、
      • Google Cheza (クアルコム SDM845)、
      • クアルコム Dragonboard 845c (クアルコム SDM845)、
      • Hugsun X99 TV ボックス (Rockchip RK3399)、
      • カダス ゚ッゞ/゚ッゞ-V/キャプテン (ロックチップ RK3399)、
      • ハむホヌプRZ/G2M、
      • NXP LS1021A-TSN。

同時に、ラテンアメリカ・フリヌ・゜フトりェア財団 圢成された
варОаМт 完党に無料のカヌネル 5.3 - Linux-libre 5.3-gnu、メヌカヌによっお範囲が制限されおいる、非フリヌのコンポヌネントたたはコヌドセクションを含むファヌムりェアおよびドラむバヌ芁玠が陀去されたす。 新しいリリヌスでは、qcom、hdcp drm、allegro-dvt、および meson-vdec ドラむバヌで BLOB ロヌドが無効になっおいたす。
ドラむバヌずサブシステム amdgpu、i915、netx、r8169、brcmfmac、rtl8188eu、adreno、si2157、pvrusb2、touchscreen_dmi、Skylake のサりンド ドラむバヌ、およびマむクロコヌド ドキュメントの BLOB クリヌニング コヌドを曎新したした。

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

コメントを远加したす