From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastiano Miano Subject: [bpf-next PATCH 1/3] bpf: add id to map tracepoint Date: Wed, 18 Apr 2018 17:30:48 +0200 Message-ID: <152406544797.3465.16927588919039069579.stgit@localhost.localdomain> References: <152406544226.3465.948692097697975172.stgit@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: mingo@redhat.com, rostedt@goodmis.org, brouer@redhat.com, fulvio.risso@polito.it To: netdev@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net Return-path: Received: from fm1nodo1.polito.it ([130.192.180.16]:51523 "EHLO antispam.polito.it" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751870AbeDRP6W (ORCPT ); Wed, 18 Apr 2018 11:58:22 -0400 In-Reply-To: <152406544226.3465.948692097697975172.stgit@localhost.localdomain> Sender: netdev-owner@vger.kernel.org List-ID: 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 Suggested-by: Jesper Dangaard Brouer --- 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),