This patch adds the map id to the bpf tracepoints that can be used when monitoring or inspecting map related functions.
Signed-off-by: Sebastiano Miano <[email protected]> Suggested-by: Jesper Dangaard Brouer <[email protected]> --- include/trace/events/bpf.h | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/include/trace/events/bpf.h b/include/trace/events/bpf.h index 1501856..d7c9726 100644 --- a/include/trace/events/bpf.h +++ b/include/trace/events/bpf.h @@ -130,6 +130,7 @@ TRACE_EVENT(bpf_map_create, __field(u32, max_entries) __field(u32, flags) __field(int, ufd) + __field(u32, id) ), TP_fast_assign( @@ -139,9 +140,11 @@ TRACE_EVENT(bpf_map_create, __entry->max_entries = map->max_entries; __entry->flags = map->map_flags; __entry->ufd = ufd; + __entry->id = map->id; ), - TP_printk("map type=%s ufd=%d key=%u val=%u max=%u flags=%x", + TP_printk("id=%u type=%s ufd=%d key=%u val=%u max=%u flags=%x", + __entry->id, __print_symbolic(__entry->type, __MAP_TYPE_SYM_TAB), __entry->ufd, __entry->size_key, __entry->size_value, __entry->max_entries, __entry->flags) @@ -199,17 +202,20 @@ DECLARE_EVENT_CLASS(bpf_obj_map, __field(u32, type) __field(int, ufd) __string(path, pname->name) + __field(u32, id) ), TP_fast_assign( __assign_str(path, pname->name); __entry->type = map->map_type; __entry->ufd = ufd; + __entry->id = map->id; ), - TP_printk("map type=%s ufd=%d path=%s", - __print_symbolic(__entry->type, __MAP_TYPE_SYM_TAB), - __entry->ufd, __get_str(path)) + TP_printk("map id=%u type=%s ufd=%d path=%s", + __entry->id, + __print_symbolic(__entry->type, __MAP_TYPE_SYM_TAB), + __entry->ufd, __get_str(path)) ); DEFINE_EVENT(bpf_obj_map, bpf_obj_pin_map, @@ -244,6 +250,7 @@ DECLARE_EVENT_CLASS(bpf_map_keyval, __dynamic_array(u8, val, map->value_size) __field(bool, val_trunc) __field(int, ufd) + __field(u32, id) ), TP_fast_assign( @@ -255,9 +262,11 @@ DECLARE_EVENT_CLASS(bpf_map_keyval, __entry->val_len = min(map->value_size, 16U); __entry->val_trunc = map->value_size != __entry->val_len; __entry->ufd = ufd; + __entry->id = map->id; ), - TP_printk("map type=%s ufd=%d key=[%s%s] val=[%s%s]", + TP_printk("map id=%d type=%s ufd=%d key=[%s%s] val=[%s%s]", + __entry->id, __print_symbolic(__entry->type, __MAP_TYPE_SYM_TAB), __entry->ufd, __print_hex(__get_dynamic_array(key), __entry->key_len), @@ -295,6 +304,7 @@ TRACE_EVENT(bpf_map_delete_elem, __dynamic_array(u8, key, map->key_size) __field(bool, key_trunc) __field(int, ufd) + __field(u32, id) ), TP_fast_assign( @@ -303,9 +313,11 @@ TRACE_EVENT(bpf_map_delete_elem, __entry->key_len = min(map->key_size, 16U); __entry->key_trunc = map->key_size != __entry->key_len; __entry->ufd = ufd; + __entry->id = map->id; ), - TP_printk("map type=%s ufd=%d key=[%s%s]", + TP_printk("map id=%d type=%s ufd=%d key=[%s%s]", + __entry->id, __print_symbolic(__entry->type, __MAP_TYPE_SYM_TAB), __entry->ufd, __print_hex(__get_dynamic_array(key), __entry->key_len), @@ -327,6 +339,7 @@ TRACE_EVENT(bpf_map_next_key, __field(bool, key_trunc) __field(bool, key_null) __field(int, ufd) + __field(u32, id) ), TP_fast_assign( @@ -338,9 +351,11 @@ TRACE_EVENT(bpf_map_next_key, __entry->key_len = min(map->key_size, 16U); __entry->key_trunc = map->key_size != __entry->key_len; __entry->ufd = ufd; + __entry->id = map->id; ), - TP_printk("map type=%s ufd=%d key=[%s%s] next=[%s%s]", + TP_printk("map id=%d type=%s ufd=%d key=[%s%s] next=[%s%s]", + __entry->id, __print_symbolic(__entry->type, __MAP_TYPE_SYM_TAB), __entry->ufd, __entry->key_null ? "NULL" : __print_hex(__get_dynamic_array(key),
