Re: [PATCH v2] ftrace: change the export format of trace_kfree_skb()

Neil Horman
2009-06-18T10:36:04Z

On Thu, Jun 18, 2009 at 11:26:28AM +0800, Xiao Guangrong wrote:
> Use %pf instead of %p to output the function's address and print the
> protocol's name.
>
> Before patch:
>
> <idle>-0 [000] 60144.542521: kfree_skb: skbaddr=de7b8240 protocol=2048 location=c1365429
> <idle>-0 [000] 60164.488153: kfree_skb: skbaddr=da66f900 protocol=2048 location=c1365429
> <idle>-0 [000] 60193.493933: kfree_skb: skbaddr=deaeb480 protocol=4 location=c134ec25
> <idle>-0 [000] 60253.118421: kfree_skb: skbaddr=de7c4900 protocol=4 location=c134ec25
>
> After patch:
>
> <idle>-0 [000] 169.979205: kfree_skb: skbaddr=ceddc240 protocol=ETH_P_802_2 location=netif_receive_skb
> <idle>-0 [000] 172.587000: kfree_skb: skbaddr=ceddc300 protocol=ETH_P_802_2 location=netif_receive_skb
> ping-3391 [000] 192.109803: kfree_skb: skbaddr=ceddc900 protocol=ETH_P_IP location=icmp_rcv
> ping-3391 [000] 192.109902: kfree_skb: skbaddr=ceddc780 protocol=ETH_P_IP location=icmp_rcv
>
> Changelog v1->v2:
> Convert protocol from raw numeric to its name as Frederic's suggestion
>
> Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
> Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
> ---
> include/trace/events/skb.h | 70 ++++++++++++++++++++++++++++++++++++++++++-
> 1 files changed, 68 insertions(+), 2 deletions(-)
>
> diff --git a/include/trace/events/skb.h b/include/trace/events/skb.h
> index 1e8fabb..2496060 100644
> --- a/include/trace/events/skb.h
> +++ b/include/trace/events/skb.h
> @@ -7,6 +7,71 @@
> #undef TRACE_SYSTEM
> #define TRACE_SYSTEM skb
>
> +#define protocol_name(protocol) { protocol, #protocol }
> +#define show_protocol_name(val) \
> + __print_symbolic(val, \

Don't you need to include ftrace.h to pull in the __print_symbolic definition?
Or is that always guaranteed to be included from tracepoint.h?

Neil

>