Hi Ira,
[auto build test results on v4.3-rc3 -- if it's inappropriate base, please
ignore]
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be64
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be64
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be64
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be64
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be64
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be64
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be64
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be64
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be64
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be64
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be32
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be32
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be32
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be32
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be32
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be32
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: cast to restricted __be16
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be64
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be64
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be64
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be64
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be64
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be64
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be64
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be64
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be64
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be64
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be16
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be16
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be16
include/trace/events/ib_mad.h:131:1: sparse: cast to restricted __be16
>> include/trace/events/ib_mad.h:43:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:43:1: expected unsigned short [unsigned]
[usertype] status
include/trace/events/ib_mad.h:43:1: got restricted __be16 [usertype]
status
>> include/trace/events/ib_mad.h:43:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:43:1: expected unsigned short [unsigned]
[usertype] class_specific
include/trace/events/ib_mad.h:43:1: got restricted __be16 [usertype]
class_specific
>> include/trace/events/ib_mad.h:43:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:43:1: expected unsigned long long
[unsigned] [usertype] tid
include/trace/events/ib_mad.h:43:1: got restricted __be64 [usertype] tid
>> include/trace/events/ib_mad.h:43:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:43:1: expected unsigned short [unsigned]
[usertype] attr_id
include/trace/events/ib_mad.h:43:1: got restricted __be16 [usertype]
attr_id
>> include/trace/events/ib_mad.h:43:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:43:1: expected unsigned int [unsigned]
[usertype] attr_mod
include/trace/events/ib_mad.h:43:1: got restricted __be32 [usertype]
attr_mod
>> include/trace/events/ib_mad.h:131:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:131:1: expected unsigned long long
[unsigned] [usertype] atid
include/trace/events/ib_mad.h:131:1: got restricted __be64 [usertype] tid
include/trace/events/ib_mad.h:131:1: sparse: incorrect type in assignment
(different base types)
include/trace/events/ib_mad.h:131:1: expected unsigned short [unsigned]
[usertype] status
include/trace/events/ib_mad.h:131:1: got restricted __be16 [usertype]
status
>> include/trace/events/ib_mad.h:43:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:43:1: expected unsigned short [unsigned]
[usertype] status
include/trace/events/ib_mad.h:43:1: got restricted __be16 [usertype]
status
>> include/trace/events/ib_mad.h:43:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:43:1: expected unsigned short [unsigned]
[usertype] class_specific
include/trace/events/ib_mad.h:43:1: got restricted __be16 [usertype]
class_specific
>> include/trace/events/ib_mad.h:43:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:43:1: expected unsigned long long
[unsigned] [usertype] tid
include/trace/events/ib_mad.h:43:1: got restricted __be64 [usertype] tid
>> include/trace/events/ib_mad.h:43:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:43:1: expected unsigned short [unsigned]
[usertype] attr_id
include/trace/events/ib_mad.h:43:1: got restricted __be16 [usertype]
attr_id
>> include/trace/events/ib_mad.h:43:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:43:1: expected unsigned int [unsigned]
[usertype] attr_mod
include/trace/events/ib_mad.h:43:1: got restricted __be32 [usertype]
attr_mod
>> include/trace/events/ib_mad.h:131:1: sparse: incorrect type in assignment
>> (different base types)
include/trace/events/ib_mad.h:131:1: expected unsigned long long
[unsigned] [usertype] atid
include/trace/events/ib_mad.h:131:1: got restricted __be64 [usertype] tid
include/trace/events/ib_mad.h:131:1: sparse: incorrect type in assignment
(different base types)
include/trace/events/ib_mad.h:131:1: expected unsigned short [unsigned]
[usertype] status
include/trace/events/ib_mad.h:131:1: got restricted __be16 [usertype]
status
vim +43 include/trace/events/ib_mad.h
37 #if !defined(_TRACE_IB_MAD_H) || defined(TRACE_HEADER_MULTI_READ)
38 #define _TRACE_IB_MAD_H
39
40 #include <linux/tracepoint.h>
41 #include <rdma/ib_mad.h>
42
> 43 DECLARE_EVENT_CLASS(ib_mad_send_template,
44 TP_PROTO(struct ib_mad_send_wr_private *wr, struct ib_mad_addr
*addr),
45 TP_ARGS(wr, addr),
46
47 TP_STRUCT__entry(
48 __array(char, dev_name, IB_DEVICE_NAME_MAX )
49 __field(u8, port_num )
50 __field(u32, qp_num )
51 __field(void *, agent_priv )
52 __field(u64, atid )
53 __field(int, retries_left )
54 __field(int, max_retries )
55 __field(int, retry )
56 __field(unsigned long, timeout )
57 __field(u32, length )
58 __field(u8, base_version )
59 __field(u8, mgmt_class )
60 __field(u8, class_version )
61 __field(u8, method )
62 __field(u16, status )
63 __field(u16, class_specific )
64 __field(u64, tid )
65 __field(u16, attr_id )
66 __field(u32, attr_mod )
67 __field(u16, dlid )
68 __field(u8, sl )
69 __field(u16, pkey )
70 __field(u32, rqpn )
71 __field(u32, rqkey )
72 ),
73
74 TP_fast_assign(
75 memcpy(__entry->dev_name,
wr->mad_agent_priv->agent.device->name, IB_DEVICE_NAME_MAX);
76 __entry->port_num = wr->mad_agent_priv->agent.port_num;
77 __entry->qp_num =
wr->mad_agent_priv->qp_info->qp->qp_num;
78 __entry->agent_priv = wr->mad_agent_priv;
79 __entry->atid = be64_to_cpu(wr->tid);
80 __entry->max_retries = wr->max_retries;
81 __entry->retries_left = wr->retries_left;
82 __entry->retry = wr->retry;
83 __entry->timeout = wr->timeout;
84 __entry->length = wr->send_buf.hdr_len +
85 wr->send_buf.data_len;
86 __entry->base_version = ((struct ib_mad_hdr
*)wr->send_buf.mad)->base_version;
87 __entry->mgmt_class = ((struct ib_mad_hdr
*)wr->send_buf.mad)->mgmt_class;
88 __entry->class_version = ((struct ib_mad_hdr
*)wr->send_buf.mad)->class_version;
89 __entry->method = ((struct ib_mad_hdr
*)wr->send_buf.mad)->method;
90 __entry->status = ((struct ib_mad_hdr
*)wr->send_buf.mad)->status;
91 __entry->class_specific = ((struct ib_mad_hdr
*)wr->send_buf.mad)->class_specific;
92 __entry->tid = ((struct ib_mad_hdr
*)wr->send_buf.mad)->tid;
93 __entry->attr_id = ((struct ib_mad_hdr
*)wr->send_buf.mad)->attr_id;
94 __entry->attr_mod = ((struct ib_mad_hdr
*)wr->send_buf.mad)->attr_mod;
95 __entry->dlid = addr->dlid;
96 __entry->sl = addr->sl;
97 __entry->pkey = addr->pkey;
98 __entry->rqpn = addr->rqpn;
99 __entry->rqkey = addr->rqkey;
100 ),
101
102 TP_printk("%s:%d QP%d agent %p: " \
103 "atid 0x%llx; %d/%d retries(%d); timeout %lu length
%d : " \
104 "base_ver 0x%x class 0x%x class_ver 0x%x method 0x%x
" \
105 "status 0x%x class_specific 0x%x tid 0x%llx attr_id
0x%x attr_mod 0x%x " \
106 " => dlid 0x%x sl %d pkey 0x%x rpqn 0x%x rqpkey 0x%x",
107 __entry->dev_name, __entry->port_num, __entry->qp_num,
108 __entry->agent_priv, __entry->atid,
109 __entry->retries_left, __entry->max_retries,
110 __entry->retry, __entry->timeout, __entry->length,
111 __entry->base_version, __entry->mgmt_class,
__entry->class_version,
112 __entry->method, be16_to_cpu(__entry->status),
113 be16_to_cpu(__entry->class_specific),
114 be64_to_cpu(__entry->tid),
be16_to_cpu(__entry->attr_id),
115 be32_to_cpu(__entry->attr_mod),
116 be16_to_cpu(__entry->dlid), __entry->sl, __entry->pkey,
__entry->rqpn,
117 __entry->rqkey
118 )
119 );
120
121 DEFINE_EVENT(ib_mad_send_template, ib_mad_mad_error_handler,
122 TP_PROTO(struct ib_mad_send_wr_private *wr, struct ib_mad_addr
*addr),
123 TP_ARGS(wr, addr));
124 DEFINE_EVENT(ib_mad_send_template, ib_mad_ib_send_mad,
125 TP_PROTO(struct ib_mad_send_wr_private *wr, struct ib_mad_addr
*addr),
126 TP_ARGS(wr, addr));
127 DEFINE_EVENT(ib_mad_send_template, ib_mad_send_done_resend,
128 TP_PROTO(struct ib_mad_send_wr_private *wr, struct ib_mad_addr
*addr),
129 TP_ARGS(wr, addr));
130
> 131 TRACE_EVENT(ib_mad_send_done_handler,
132 TP_PROTO(struct ib_mad_send_wr_private *wr, struct ib_wc *wc),
133 TP_ARGS(wr, wc),
134
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html