
CPUスケジューラの仕組み - 古典アルゴリズムからCFS、EEVDF、sched_extまで
CPUスケジューラの仕組みを、スループット・レイテンシ・公平性のトレードオフ、FIFOやMLFQなどの古典アルゴリズム、LinuxのCFSからEEVDFへの移行、sched_ext、スケジューリングクラス、cgroupのcpu.maxによるスロットリング、観測方法まで一次ソース付きで解説します。

CPUスケジューラの仕組みを、スループット・レイテンシ・公平性のトレードオフ、FIFOやMLFQなどの古典アルゴリズム、LinuxのCFSからEEVDFへの移行、sched_ext、スケジューリングクラス、cgroupのcpu.maxによるスロットリング、観測方法まで一次ソース付きで解説します。

システムコールの仕組みを、ring 0とring 3の分離からx86-64のsyscall命令の呼び出し規約、libcラッパ、カーネル側の入口、vDSO、KPTIによるコスト、seccompまで一次ソース付きで解説します。

メモリ2GBのVPSにzramを導入し、mm_statの実測値で効果を検証しました。337MBのページが97MBに圧縮され実効235MBのRAMを取り戻せた一方で、よく紹介される「zramを優先度100、ディスクswapを低優先度」という構成にはLRU反転という設計上の問題があります。カーネル文書とzramctlの実出力をもとにzramの仕組み・mm_statの読み方・swappinessの決め方を整理し、記事後半では実際に同じサーバーをzswapへ切り替えた手順と、916MBのswapoffにかかった時間・zswapの圧縮率3.43倍という実測値も記録しました。

Linux カーネルの epoll サブシステムに見つかった use-after-free 脆弱性 Bad Epoll(CVE-2026-46242)を、NVD などの一次〜準一次情報ベースで整理します。ep_remove() の競合状態からローカルの一般ユーザーが root を奪える仕組み、影響するカーネルバージョンと Android への波及、そして「同じ 2023 年のコミットが混入させた隣の競合バグを Anthropic の Mythos が見つけ、Bad Epoll だけを見逃した」という話題性のある経緯まで解説します。2026 年 7 月時点の続報(実際の悪用は未確認・CISA KEV 未掲載、修正が公開開示に先行、ディストリのバックポートは配布途上)も追記しました。