-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Track amount of maps in use in complexity workflow #44651
Copy link
Copy link
Closed
Labels
area/CIContinuous Integration testing issue or flakeContinuous Integration testing issue or flakearea/datapathImpacts bpf/ or low-level forwarding details, including map management and monitor messages.Impacts bpf/ or low-level forwarding details, including map management and monitor messages.area/loaderImpacts the loading of BPF programs into the kernel.Impacts the loading of BPF programs into the kernel.kind/complexity-issueRelates to BPF complexity or program size issuesRelates to BPF complexity or program size issues
Description
We use a lot of maps in Cilium for a number of different things, the amount tends to grow over time. The kernel has a hard limit of 64 maps per program.
Nowadays we have unused map pruning logic, which means we only create maps and associate them with programs if they are actually being used by enabled features. This allows us to define more than 64 maps as long as we don't use them all at the same time. But this also makes it hard to see or reason about how many maps are actually in use.
We should expand the verifier complexity workflow / tooling to track map usage after unused map pruning for each permutation and to summarize the worst cases so we can better track how close we are to the limit.
Related to: #44650
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area/CIContinuous Integration testing issue or flakeContinuous Integration testing issue or flakearea/datapathImpacts bpf/ or low-level forwarding details, including map management and monitor messages.Impacts bpf/ or low-level forwarding details, including map management and monitor messages.area/loaderImpacts the loading of BPF programs into the kernel.Impacts the loading of BPF programs into the kernel.kind/complexity-issueRelates to BPF complexity or program size issuesRelates to BPF complexity or program size issues