render_instruction_count_tables

Function render_instruction_count_tables 

Source
pub fn render_instruction_count_tables(
    records: &[VerifierCellRecord],
) -> Option<String>
Expand description

Render one verified_insns table per declared scheduler. Within each scheduler’s section: rows = kernel version, columns = BPF program, and each cell is that program’s verified_insns for the (scheduler, kernel) summarized ACROSS the topologies that ran it — a single number when topology-invariant, lo..hi when it varies (- when that program reported no stats on that kernel).

verified_insns is the verifier’s PROCESSED-instruction count (env->insn_processed) — fixed per load, but NOT topology-invariant (a scheduler whose verification path depends on topology-derived .rodata, e.g. nr_cpus, processes a different count per topology). So topology is folded into the cell as a range rather than shown as its own (usually all-identical) axis; the axes it genuinely varies on — BPF program (x) and kernel version (y) — are the table axes, sectioned per declared scheduler. Identical-binary declarations are sectioned separately on purpose (they are run separately). Returns None when no record carries any per-program stats (the caller prints nothing).

Schedulers, kernels, and programs are BTree-sorted so the same run renders the same output (shell-pipeline stable). The range drops which topology produced which count; a per-topology breakdown is a separate detailed view, not this summary.