Linux 7.4、blockプルでApple M4のNVMeに対応
Linux 7.4のblock(ブロック)サブシステムのプルが、Apple M4のANS2 NVMeコントローラー用ドライバーを追加。旧Macのフロッピードライバーへの33件の修正も含みます。
4 分で読めます

数字で見る
- maximum queue depth the new driver sets for the M4 controller
- 64
- fixes to the SWIM floppy driver for classic Macs
- 33
- files changed by the 7.4 block pull
- 66
Linux 7.4は、AppleのM4チップに内蔵されたNVMeストレージコントローラーへの対応をマージしました。Phoronixが2026年10月24日に報じたblockサブシステムのプルに含まれています。同じプルでは、クラシックなMacintosh向けのものを含むフロッピーディスクドライバーも修正されました。Apple Silicon上でLinuxを動かす人にとって、M4ドライバーは内蔵ドライブを読み書きするために必要な一歩です。
blockプルの中身
blockサブシステムは、SSD、ハードディスク、フロッピーディスクといったストレージ機器を扱うカーネルの部分です。Jens Axboe氏がリリースごとにblock関連の変更をまとめ、プルリクエストとしてLinus Torvalds氏に送ります。
マージコミットによると、「for-7.4/block-20261021」というタグの付いた同氏の7.4向けプルは、10月25日にメインラインのカーネルに入りました。66ファイルに及び、3,793行が追加され、1,541行が削除されています。その概要には、Keith Busch氏がまとめたNVMe関連の更新として「Apple M4 (t8132) ANS2 NVMe support」が挙げられています。
| 7.4のblockプルの変更 | 担当者 | 修正・追加の内容 |
|---|---|---|
| Apple M4のANS2 NVMe対応 | Yureka Lilian氏 | M4チップのストレージコントローラー |
| フロッピードライバーのメモリー修正 | Denis Efremov氏(Oracle) | スタックメモリーのオーバーランの可能性 |
| フロッピーの不具合(リグレッション)修正 | Denis Efremov氏(Oracle) | 2017年のドライブフラグのリファクタリングで生じたバグ |
| フロッピーのデータ競合の修正 | Cen Zhang氏 | 同時に動くコード間の競合 |
| SWIMドライバーの修正 | Finn Thain氏 | 旧Macintoshのフロッピーコントローラーへの33件の修正 |
カーネルの高速な非同期入出力インターフェースであるio_uringの更新も、この期間にマージされました。Phoronixはその変更内容を挙げていません。
M4ストレージドライバーの違い
NVMeは、高速なSSDがコンピューターとやり取りするための標準的な方式です。コンピューターはコマンドをサブミッションキューに置き、結果をコンプリーションキューから読み取ります。ANS2は、カーネルがM4のシステムオンチップ内のNVMeコントローラーを呼ぶ名前で、チップIDはt8132です。
コミットは、M4版の変わった点を説明しています。「この派生版では、追加のMMIO書き込みを使ってIOキューを登録する必要がある」と書かれています。MMIO(メモリーマップドI/O)とは、ドライバーが特別なメモリーアドレスに書き込むことでハードウェアとやり取りする方式です。
通常、ドライバーは各キューの大きさを、そのキューを作るコマンドの中でNVMeドライブに伝えます。M4では、そのサイズの欄は無視されます。代わりに、ドライバーはオフセット0x1210のレジスターにキューのサイズを書き込みます。カーネルでは以前、このレジスターをAPPLE_ANS_MAX_PEND_CMDS_CTRLと呼んでいました。
変更は小さなもので、既存のApple NVMeドライバーの1ファイルに35行を追加し、4行を削除しています。M4のキューの最大深さを64に設定します。Yureka Lilian氏が2026年9月6日に書き、Sven Peter氏がレビューし、Keith Busch氏がコミットしました。これに合わせた1行の変更で「apple,t8132-nvme-ans2」というデバイスの記述が追加され、Conor Dooley氏が承認(ack)しています。
このドライバーは、M4搭載Mac向けの最初のデバイスツリーと同じリリースに入ります。デバイスツリーとは、マシンにどんなハードウェアがあり、どこにあるかをカーネルに伝えるファイルです。Phoronixが10月2日に報じたところでは、Asahi Linuxの開発者であるSven Peter氏が6機種のM4搭載Mac向けのツリーを提出しました。14インチMacBook Pro、24インチiMac 2機種、13インチと15インチのMacBook Air、Mac Miniです。ツリーが扱うのはCPUコア、割り込みコントローラー、シリアルポート、フレームバッファーなどの基本的な部分だけです。Phoronixの一覧にNVMeは含まれておらず、GPUも有効になっていません。
ツールで見つかり、旧Macで試されたフロッピー修正
プルの残りは、Linuxがどれほど長くハードウェアを生かし続けるかを思い出させます。Denis Efremov氏のメモリー修正は、KASAN(Kernel Address Sanitizer)が見つけたものです。KASANは、触れてはいけないメモリーを読み書きするコードを捕まえるデバッグツールです。
Phoronixによると、Cen Zhang氏のデータ競合の修正は「our tools(私たちのツール)」で見つかりました。同メディアはAIツールだと推測していますが、ツールの名前は示されていません。
Motorola 68000系のMacでLinuxを動かし続けるコミュニティのFinn Thain氏は、SWIMドライバーに33件の修正を送りました。SWIMは、クラシックなMacintoshのフロッピーコントローラーです。同氏はMac Quadra 650、Mac LC III、Mac Quadra 700、Mac IIvxで修正を試しました。
このマージウィンドウでは、Nintendo Switch 2コントローラーのドライバーや、大規模サーバー向けのworkqueueフラッシュの高速化も入りました。
開発者にとっての意味
M4ドライバーが最も重要なのは、Asahi Linuxのコミュニティと、最近のMacでLinuxを使いたい人です。
- 7.4だけでM4搭載MacがLinuxで動くとは期待しない。 Phoronixによると、7.4のデバイスツリーはカーネルの起動を始めるには十分ですが、ほかの多くのハードウェアは今後のカーネルを待つことになります。Apple SiliconへのLinux移植プロジェクトであるAsahi LinuxがM3の公式サポートに到達したのは9月のことで、その時点でもまだ足りない機能を挙げていました。
- アップストリームへの道筋を見守る。 このドライバーはフォークではなく、メインラインのカーネルに入りました。アップストリームに入ったコードは、ほかのすべてのコードと一緒にレビューされ保守されるので、ディストリビューションが出荷しやすくなります。
- ドライバーを書くならコミットを読む。 新しいドライバーを作らず、既存のドライバーにフラグを足してハードウェアの派生版に対応する、簡潔な例になっています。
- 古いハードウェアを使っているなら試す。 フロッピードライブ付きのLinuxマシンを持っているなら、7.4ではフロッピーとSWIMのドライバーが変わります。7.4-rc1から始まるリリース候補版で試してみましょう。
- ツールが見つけるバグは増えると考える。 1件はKASANが、ほかは名前のないツールが見つけました。古いドライバーを保守するプロジェクトも、自分たちのテスト環境でサニタイザーを動かすべきです。
出典
- Linux 7.4 Block Updates Range From Floppy Disk Driver Fixes To Apple M4 NVMe Support - Phoronix
- nvme: apple: add t8132 (M4) ANS2 NVMe support - Linux kernel (GitHub mirror)
- Linux 7.4 To Introduce Initial Device Trees For Apple M4, A18 Pro For MacBook Neo - Phoronix
- Merge tag 'for-7.4/block-20261021' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux - Linux kernel (GitHub mirror)
関連記事

Torvaldsのページキャッシュパッチに改良版:ext4で4.5倍高速に
MetaのKiryl Shutsemauが、Torvaldsのページキャッシュ(page cache)パッチを18本のパッチからなるRFCに仕上げました。ext4の64スレッドでは、小さな読み取りが毎秒約1,500万回から7,000万回に増えました。

BeamFSのRFC:Reed-Solomon符号を使うLinuxファイルシステム
18件のパッチからなるLinuxのRFC、BeamFSは、すべてのブロックをReed-Solomon(リード・ソロモン)符号語として保存します。これにより、1台のディスク上で反転したビットを修復できます。代わりに容量の7%を使います。

Linux 7.3公開、fchrootとfailfs、Btrfsの高速化
Linus Torvalds氏が2026年10月18日にLinux 7.3を公開しました。3,021人の開発者による18,765件のコミットで、新しいサンドボックス機能と、最大5倍速いBtrfsのfsyncを備えています。