Hi Paolo, Thank you for the patch! Yet something to improve:
[auto build test ERROR on net-next/master] url: https://github.com/0day-ci/linux/commits/Paolo-Abeni/net-caif-avoid-using-qdisc_qlen/20190409-164620 config: i386-randconfig-b0-04091710 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): In file included from include/linux/filter.h:24:0, from include/net/sock.h:64, from include/net/cls_cgroup.h:19, from net/socket.c:99: include/net/sch_generic.h: In function 'qdisc_all_tx_empty': include/net/sch_generic.h:748:3: error: implicit declaration of function 'qdisc_is_empty' [-Werror=implicit-function-declaration] if (!qdisc_is_empty(q)) { ^ include/net/sch_generic.h: At top level: include/net/sch_generic.h:823:20: error: conflicting types for 'qdisc_is_empty' static inline bool qdisc_is_empty(const struct Qdisc *qdisc) ^ include/net/sch_generic.h:748:8: note: previous implicit declaration of 'qdisc_is_empty' was here if (!qdisc_is_empty(q)) { ^ include/net/sch_generic.h: In function 'qdisc_dequeue_peeked': >> include/net/sch_generic.h:1149:4: error: implicit declaration of function >> 'qdisc_qstats_atomic_qlen_dec' [-Werror=implicit-function-declaration] qdisc_qstats_atomic_qlen_dec(sch); ^ cc1: some warnings being treated as errors -- In file included from include/linux/filter.h:24:0, from include/net/sock.h:64, from net//tipc/socket.h:38, from net//tipc/trace.h:45, from net//tipc/trace.c:37: include/net/sch_generic.h: In function 'qdisc_all_tx_empty': include/net/sch_generic.h:748:3: error: implicit declaration of function 'qdisc_is_empty' [-Werror=implicit-function-declaration] if (!qdisc_is_empty(q)) { ^ include/net/sch_generic.h: At top level: include/net/sch_generic.h:823:20: error: conflicting types for 'qdisc_is_empty' static inline bool qdisc_is_empty(const struct Qdisc *qdisc) ^ include/net/sch_generic.h:748:8: note: previous implicit declaration of 'qdisc_is_empty' was here if (!qdisc_is_empty(q)) { ^ include/net/sch_generic.h: In function 'qdisc_dequeue_peeked': >> include/net/sch_generic.h:1149:4: error: implicit declaration of function >> 'qdisc_qstats_atomic_qlen_dec' [-Werror=implicit-function-declaration] qdisc_qstats_atomic_qlen_dec(sch); ^ In file included from net//tipc/trace.h:431:0, from net//tipc/trace.c:37: include/trace/define_trace.h: At top level: include/trace/define_trace.h:89:43: fatal error: ./trace.h: No such file or directory #include TRACE_INCLUDE(TRACE_INCLUDE_FILE) ^ cc1: some warnings being treated as errors compilation terminated. vim +/qdisc_qstats_atomic_qlen_dec +1149 include/net/sch_generic.h fa70e3d2 Paolo Abeni 2019-04-08 1139 77be155c Jarek Poplawski 2008-10-31 1140 /* use instead of qdisc->dequeue() for all qdiscs queried with ->peek() */ 77be155c Jarek Poplawski 2008-10-31 1141 static inline struct sk_buff *qdisc_dequeue_peeked(struct Qdisc *sch) 77be155c Jarek Poplawski 2008-10-31 1142 { a53851e2 John Fastabend 2017-12-07 1143 struct sk_buff *skb = skb_peek(&sch->gso_skb); 77be155c Jarek Poplawski 2008-10-31 1144 61c9eaf9 Jarek Poplawski 2008-11-05 1145 if (skb) { a53851e2 John Fastabend 2017-12-07 1146 skb = __skb_dequeue(&sch->gso_skb); 9cda4ff7 Paolo Abeni 2019-04-08 1147 if (qdisc_is_percpu_stats(sch)) { 9cda4ff7 Paolo Abeni 2019-04-08 1148 qdisc_qstats_cpu_backlog_dec(sch, skb); 9cda4ff7 Paolo Abeni 2019-04-08 @1149 qdisc_qstats_atomic_qlen_dec(sch); 9cda4ff7 Paolo Abeni 2019-04-08 1150 } else { a27758ff WANG Cong 2016-06-03 1151 qdisc_qstats_backlog_dec(sch, skb); 61c9eaf9 Jarek Poplawski 2008-11-05 1152 sch->q.qlen--; 9cda4ff7 Paolo Abeni 2019-04-08 1153 } 61c9eaf9 Jarek Poplawski 2008-11-05 1154 } else { 77be155c Jarek Poplawski 2008-10-31 1155 skb = sch->dequeue(sch); 61c9eaf9 Jarek Poplawski 2008-11-05 1156 } 77be155c Jarek Poplawski 2008-10-31 1157 77be155c Jarek Poplawski 2008-10-31 1158 return skb; 77be155c Jarek Poplawski 2008-10-31 1159 } 77be155c Jarek Poplawski 2008-10-31 1160 :::::: The code at line 1149 was first introduced by commit :::::: 9cda4ff7ed51bb469cb19e03c9fe4972408edb63 net: sched: always do stats accounting according to TCQ_F_CPUSTATS :::::: TO: Paolo Abeni <pab...@redhat.com> :::::: CC: 0day robot <l...@intel.com> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip