Re: [v2 PATCH -tip 3/6] net: sctp: Add SCTP ACK tracking trace event

From: kbuild test robot
Date: Tue Dec 19 2017 - 19:49:41 EST


Hi Masami,

I love your patch! Perhaps something to improve:

[auto build test WARNING on net/master]
[also build test WARNING on v4.15-rc4 next-20171219]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Masami-Hiramatsu/net-tcp-sctp-dccp-Replace-jprobe-usage-with-trace-events/20171220-081035
config: i386-randconfig-x011-201751 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All warnings (new ones prefixed by >>):

In file included from include/trace/define_trace.h:96:0,
from include/trace/events/sctp.h:96,
from net//sctp/sm_statefuns.c:63:
include/trace/events/sctp.h: In function 'trace_event_raw_event_sctp_probe_path':
>> include/trace/events/sctp.h:31:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
__entry->asoc = (__u64)asoc;
^
include/trace/trace_events.h:719:4: note: in definition of macro 'DECLARE_EVENT_CLASS'
{ assign; } \
^~~~~~
include/trace/trace_events.h:78:9: note: in expansion of macro 'PARAMS'
PARAMS(assign), \
^~~~~~
>> include/trace/events/sctp.h:11:1: note: in expansion of macro 'TRACE_EVENT'
TRACE_EVENT(sctp_probe_path,
^~~~~~~~~~~
>> include/trace/events/sctp.h:30:2: note: in expansion of macro 'TP_fast_assign'
TP_fast_assign(
^~~~~~~~~~~~~~
include/trace/events/sctp.h: In function 'trace_event_raw_event_sctp_probe':
include/trace/events/sctp.h:72:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
__entry->asoc = (__u64)asoc;
^
include/trace/trace_events.h:719:4: note: in definition of macro 'DECLARE_EVENT_CLASS'
{ assign; } \
^~~~~~
include/trace/trace_events.h:78:9: note: in expansion of macro 'PARAMS'
PARAMS(assign), \
^~~~~~
include/trace/events/sctp.h:50:1: note: in expansion of macro 'TRACE_EVENT'
TRACE_EVENT(sctp_probe,
^~~~~~~~~~~
include/trace/events/sctp.h:68:2: note: in expansion of macro 'TP_fast_assign'
TP_fast_assign(
^~~~~~~~~~~~~~
In file included from include/trace/define_trace.h:97:0,
from include/trace/events/sctp.h:96,
from net//sctp/sm_statefuns.c:63:
include/trace/events/sctp.h: In function 'perf_trace_sctp_probe_path':
>> include/trace/events/sctp.h:31:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
__entry->asoc = (__u64)asoc;
^
include/trace/perf.h:66:4: note: in definition of macro 'DECLARE_EVENT_CLASS'
{ assign; } \
^~~~~~
include/trace/trace_events.h:78:9: note: in expansion of macro 'PARAMS'
PARAMS(assign), \
^~~~~~
>> include/trace/events/sctp.h:11:1: note: in expansion of macro 'TRACE_EVENT'
TRACE_EVENT(sctp_probe_path,
^~~~~~~~~~~
>> include/trace/events/sctp.h:30:2: note: in expansion of macro 'TP_fast_assign'
TP_fast_assign(
^~~~~~~~~~~~~~
include/trace/events/sctp.h: In function 'perf_trace_sctp_probe':
include/trace/events/sctp.h:72:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
__entry->asoc = (__u64)asoc;
^
include/trace/perf.h:66:4: note: in definition of macro 'DECLARE_EVENT_CLASS'
{ assign; } \
^~~~~~
include/trace/trace_events.h:78:9: note: in expansion of macro 'PARAMS'
PARAMS(assign), \
^~~~~~
include/trace/events/sctp.h:50:1: note: in expansion of macro 'TRACE_EVENT'
TRACE_EVENT(sctp_probe,
^~~~~~~~~~~
include/trace/events/sctp.h:68:2: note: in expansion of macro 'TP_fast_assign'
TP_fast_assign(
^~~~~~~~~~~~~~

vim +31 include/trace/events/sctp.h

10
> 11 TRACE_EVENT(sctp_probe_path,
12
13 TP_PROTO(struct sctp_transport *sp,
14 const struct sctp_association *asoc),
15
16 TP_ARGS(sp, asoc),
17
18 TP_STRUCT__entry(
19 __field(__u64, asoc)
20 __field(__u32, primary)
21 __array(__u8, ipaddr, sizeof(union sctp_addr))
22 __field(__u32, state)
23 __field(__u32, cwnd)
24 __field(__u32, ssthresh)
25 __field(__u32, flight_size)
26 __field(__u32, partial_bytes_acked)
27 __field(__u32, pathmtu)
28 ),
29
> 30 TP_fast_assign(
> 31 __entry->asoc = (__u64)asoc;
32 __entry->primary = (sp == asoc->peer.primary_path);
33 memcpy(__entry->ipaddr, &sp->ipaddr, sizeof(union sctp_addr));
34 __entry->state = sp->state;
35 __entry->cwnd = sp->cwnd;
36 __entry->ssthresh = sp->ssthresh;
37 __entry->flight_size = sp->flight_size;
38 __entry->partial_bytes_acked = sp->partial_bytes_acked;
39 __entry->pathmtu = sp->pathmtu;
40 ),
41
42 TP_printk("asoc=%#llx%s ipaddr=%pISpc state=%u cwnd=%u ssthresh=%u "
43 "flight_size=%u partial_bytes_acked=%u pathmtu=%u",
44 __entry->asoc, __entry->primary ? "(*)" : "",
45 __entry->ipaddr, __entry->state, __entry->cwnd,
46 __entry->ssthresh, __entry->flight_size,
47 __entry->partial_bytes_acked, __entry->pathmtu)
48 );
49
50 TRACE_EVENT(sctp_probe,
51
52 TP_PROTO(const struct sctp_endpoint *ep,
53 const struct sctp_association *asoc,
54 struct sctp_chunk *chunk),
55
56 TP_ARGS(ep, asoc, chunk),
57
58 TP_STRUCT__entry(
59 __field(__u64, asoc)
60 __field(__u32, mark)
61 __field(__u16, bind_port)
62 __field(__u16, peer_port)
63 __field(__u32, pathmtu)
64 __field(__u32, rwnd)
65 __field(__u16, unack_data)
66 ),
67
68 TP_fast_assign(
69 struct sctp_transport *sp;
70 struct sk_buff *skb = chunk->skb;
71
72 __entry->asoc = (__u64)asoc;
73 __entry->mark = skb->mark;
74 __entry->bind_port = ep->base.bind_addr.port;
75 __entry->peer_port = asoc->peer.port;
76 __entry->pathmtu = asoc->pathmtu;
77 __entry->rwnd = asoc->peer.rwnd;
78 __entry->unack_data = asoc->unack_data;
79
80 list_for_each_entry(sp, &asoc->peer.transport_addr_list,
81 transports) {
82 trace_sctp_probe_path(sp, asoc);
83 }
84 ),
85
86 TP_printk("asoc=%#llx mark=%#x bind_port=%d peer_port=%d pathmtu=%d "
87 "rwnd=%u unack_data=%d",
88 __entry->asoc, __entry->mark, __entry->bind_port,
89 __entry->peer_port, __entry->pathmtu, __entry->rwnd,
90 __entry->unack_data)
91 );
92
93 #endif /* _TRACE_SCTP_H */
94
95 /* This part must be outside protection */
> 96 #include <trace/define_trace.h>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip