Commit 515ee52b authored by Anton Protopopov's avatar Anton Protopopov Committed by Alexei Starovoitov

bpf: make preloaded map iterators to display map elements count

Add another column to the /sys/fs/bpf/maps.debug iterator to display
cur_entries, the current number of entries in the map as is returned
by the bpf_map_sum_elem_count kfunc. Also fix formatting.

Example:

    # cat /sys/fs/bpf/maps.debug
      id name             max_entries  cur_entries
       2 iterator.rodata            1            0
     125 cilium_auth_map       524288          666
     126 cilium_runtime_          256            0
     127 cilium_signals            32            0
     128 cilium_node_map        16384         1344
     129 cilium_events             32            0
     ...
Signed-off-by: default avatarAnton Protopopov <aspsk@isovalent.com>
Link: https://lore.kernel.org/r/20230706133932.45883-5-aspsk@isovalent.comSigned-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 9bc421b6
...@@ -73,6 +73,8 @@ static const char *get_name(struct btf *btf, long btf_id, const char *fallback) ...@@ -73,6 +73,8 @@ static const char *get_name(struct btf *btf, long btf_id, const char *fallback)
return str + name_off; return str + name_off;
} }
__s64 bpf_map_sum_elem_count(struct bpf_map *map) __ksym;
SEC("iter/bpf_map") SEC("iter/bpf_map")
int dump_bpf_map(struct bpf_iter__bpf_map *ctx) int dump_bpf_map(struct bpf_iter__bpf_map *ctx)
{ {
...@@ -84,9 +86,12 @@ int dump_bpf_map(struct bpf_iter__bpf_map *ctx) ...@@ -84,9 +86,12 @@ int dump_bpf_map(struct bpf_iter__bpf_map *ctx)
return 0; return 0;
if (seq_num == 0) if (seq_num == 0)
BPF_SEQ_PRINTF(seq, " id name max_entries\n"); BPF_SEQ_PRINTF(seq, " id name max_entries cur_entries\n");
BPF_SEQ_PRINTF(seq, "%4u %-16s %10d %10lld\n",
map->id, map->name, map->max_entries,
bpf_map_sum_elem_count(map));
BPF_SEQ_PRINTF(seq, "%4u %-16s%6d\n", map->id, map->name, map->max_entries);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment