Linux RT-Preempt (Real-Time Linux)(リナックスアールティープリエンプト)
Linux カーネルにリアルタイム性能を加えるパッチ。Ingo Molnar 2004年開発開始、2024年Linux 6.12 でmainline 統合、ロボット / 産業 / オーディオ用途で必須。
概要
Linux RT-Preempt (PREEMPT_RT) はLinux カーネルにハードリアルタイム性能を加えるパッチセット。Ingo Molnar (Red Hat) が2004年から開発開始、20年以上mainline 外で開発継続、2024年9月Linux 6.12 でついにLinus Torvalds がメインラインマージ承認・Linux カーネル本体の一部となった。割込ハンドラのスレッド化・spinlock を mutex 化・優先度継承等で、最大遅延を数ms→数μs まで圧縮、Audio 制作 / 産業ロボット / 5G 基地局 / 自動運転車で必須技術。
RT-Preempt の主要技術
| 技術 | 内容 |
|---|---|
| Threaded IRQ | 割込ハンドラをカーネルスレッド化 |
| Sleeping Spinlocks | spinlock を mutex 化 (sleepable) |
| Priority Inheritance | 優先度継承 (Priority Inversion 回避) |
| High Resolution Timers | μs 精度タイマ |
| Tickless | NO_HZ_FULL (CPU 単独占有モード) |
| RCU (Read-Copy-Update) Forced Quiescent | レイテンシ削減 |
性能比較
| 項目 | 標準Linux | RT-Preempt |
|---|---|---|
| 最大遅延 (cyclictest) | 数ms-100ms | 数μs-100μs |
| 平均遅延 | 10μs | 5μs |
| 99% パーセンタイル遅延 | 100μs | 20μs |
| 99.9% パーセンタイル | 1ms | 50μs |
| 最悪値 (worst case) | 10ms | 100μs |
主要採用領域
| 用途 | 例 |
|---|---|
| プロオーディオ | JACK / Ardour / Bitwig |
| ロボット | ROS2 (Robot Operating System) |
| 産業制御 | PLC / SCADA |
| 5G 基地局 | ORAN |
| 自動運転 | Tesla FSD / Apollo |
| 高頻度取引 (HFT) | 金融取引システム |
| 工場自動化 | EtherCAT / Profinet |
2024年mainline 統合の意義
2004年から20年・約3,000パッチで開発継続したPREEMPT_RT が2024年9月Linux 6.12 で完全mainline 統合された:
- 全 Linux Distro が無修正でRT 化可能
- 標準カーネルでCONFIG_PREEMPT_RT 有効化のみ
- DKMS / カスタムカーネル不要
- 自動車・IoT メーカが採用容易化
- メンテナンスコスト削減
主要RT Distro
| Distro | RT サポート |
|---|---|
| Ubuntu Pro | Real-time Ubuntu (有料) |
| RHEL Real-Time | エンタープライズ製品 |
| Wind River Linux | 商業 |
| MontaVista Linux | 組込みRT |
| Yocto Project | RT Kernel 構成可能 |
| openEuler (中国) | RT支援 |
cyclictest ベンチマーク
sudo cyclictest -p 99 -t -n
# T: 0 ( 1234) P:99 I:1000 C: 10000 Min: 2 Act: 5 Avg: 7 Max: 45
# (Min=2μs, Avg=7μs, Max=45μs = リアルタイム性能の指標)
Max 値が小さいほどRT 性能高。標準Linux でMax 数ms, RT-Preempt でMax 100μs 以下が一般。
関連用語との違い
- vs Xenomai: 別Linux RT 実装・dual-kernel アプローチ
- vs RTLinux: 商用RTOS / OSS Linux
- vs FreeRTOS / Zephyr: マイコンRTOS / Linux RT
FAQ
Q1: 個人で必要? A: プロオーディオ制作 (低レイテンシAudio) で実利あり。それ以外の用途は限定的、組込み/産業/医療向け。
Q2: パフォーマンス劣化? A: 一般ワークロード5-15% 性能低下。サーバ向けスループット最大化と相反するため、用途特化選択。
Q3: Windows / macOS のRT? A: Windows は10 IoT Enterprise LTSC + Real-Time プログラム経由・macOS はCore Audio Driver Model でDSP 用 latency 制御。