📚

WSL2新バージョンで6系Linuxカーネルバイナリがリリース(9か月ぶり2回目)

に公開

カーネル6が復帰

以前、WSL ver2.3.11でLinuxカーネルがバージョン6になった時期がある
だが、その後リバートされてstable版には載らなかった。

ver 2.3.11
Update Kernel to 6.6.36.3
Hundreds of new kernel modules added.

https://github.com/microsoft/WSL/releases/tag/2.3.11

ver 2.3.17
Revert Linux kernel to 5.15.153.1-2 while issues are being debugged

https://github.com/microsoft/WSL/releases/tag/2.3.17

さて、それから半年ほど経ち、
またカーネル6が載ったバージョン2.5.6がリリースされた

https://github.com/microsoft/WSL/releases/tag/2.5.6

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

バージョンアップ情報

Fix docker by adding back modules loaded at boot (solves #12748) Dockerを修正し、起動時に読み込まれるモジュールを復活(#12748を解決)
Fix command line parsing preventing importing or exporting from stdout / stdin 標準入力/標準出力からのインポートやエクスポートを妨げるコマンドライン解析を修正
Bring back bridged networking mode WSL Kernel ブリッジドネットワーキングモードを復活
Update to 6.6.84.1 WSLカーネル(6.6.84.1)にアップデート
wslinfo: print newline after usage wslinfo:使用法の後に改行を追加
Add initgroups helper to work around musl limitation (solves #12755) Muslの制限を回避するためのinitgroupsヘルパーを追加(#12755を解決)
Remove invalid kmesg error when gui apps are disabled GUIアプリが無効になっている場合に表示される無効なkmesgエラーを削除
Fallback to GrantVmAccess when attaching a VHD fails with ERROR_ACCESS_DENIED ERROR_ACCESS_DENIEDでVHDのアタッチに失敗した場合、GrantVmAccessにフォールバック
Update UtilConnectToInteropServer to respect g_InitPid and minor wslinfo updates (solves #12714) UtilConnectToInteropServerを更新し、g_InitPidを尊重し、wslinfoの小規模な更新を(#12714を解決)
Put sparse vhd support behind an --allow-unsafe flag. スパースVHDのサポートを--allow-unsafeフラグの裏に配置
wslsettings: fix networking mode selection logic (solves #12745)wslsettings:ネットワーキングモード選択ロジックを修正(#12745を解決)

気になるのはこの二つかな

  • ブリッジドネットワーキングモードを復活
  • WSLカーネル(6.6.84.1)にアップデート

いずれも過去の経緯で公開されてからリバートされたものだ、
まだstable版ではないのでまたリバートされる可能性はあるが
そこは様子見するしかない。

カーネル差分

kernel 5から6になって何が変わったのかAIに聞いてみると

  • 新しいドライバとハードウェアサポート: AMD GPUやRISC-Vアーキテクチャの改善、さらに新しいドライバが追加され、ハードウェアサポートが向上しました。
  • セキュリティとパフォーマンスの向上: SELinuxの拡張権限サポートや、エネルギーカウンターのサポートなど、セキュリティと効率性が強化されています。
  • ファイルシステムの改善: Btrfs RAID1の読み取りバランスサポートや、XFSのリアルタイムデバイスに対するリフリンクと逆マッピングサポートが追加されました。
  • 新しい機能: Wineでのゲームエミュレーションを向上させる新しい同期サブシステムや、io_uringのFUSEサポートなどが導入されています。
  • 電力管理の改善: Raspberry Piデバイスのサスペンド/レジュームサポートが追加され、電力管理が向上しました。

io_uring, cgroup v2, FUSEサポートは地味に嬉しいかも

io_uring

  • 高速なI/O操作: io_uringは非同期I/O操作を効率化するための仕組みで、従来の方法よりも低いレイテンシーでデータの読み書きが可能です。これにより、Dockerコンテナ内でのファイル操作やデータベースアクセスが高速化されます。
  • 柔軟性の向上: io_uringは複数のI/O要求を一度に処理できるため、Webアプリケーションのスケーラビリティが向上します。

cgroup v2

  • リソース管理の改善: cgroup v2では、CPUやメモリの使用量をより細かく制御できるようになり、コンテナ間でのリソース競合を防ぎます。
  • 効率的なプロセス管理: プロセスの階層的な管理が可能で、Dockerコンテナの動作をより効率的に制御できます。

Discussion