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.