エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
検証器とJITコンパイラ | PAWNYABLE!
前章ではeBPFについて学びました。本章では、ユーザーから渡されたBPFプログラムを安全かつ高速に動かす... 前章ではeBPFについて学びました。本章では、ユーザーから渡されたBPFプログラムを安全かつ高速に動かすための、検証器とJITについて説明します。 検証器 まずは、eBPFの検証器について学びましょう。検証器のソースコードはLinuxカーネルのkernel/bpf/verifier.cに書かれています。。 検証器は命令を1つずつチェックし、すべての分岐先をexit命令までトレースします。検証は大きく二段階(First Pass, Second Pass)に分けられます。 一段階目のチェックでは、深さ優先探索によってプログラムが有向非巡回グラフ(DAG; Directed Acyclic Graph)であることを保証します。DAGとはループを持たない有向グラフのことです。 このチェックにより、次のようなプログラムは拒否されます。 BPF_MAXINSNSを超える命令が存在する場合[1] ルー