[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202212091456.YKpJmmGQ-lkp@intel.com>
Date: Fri, 9 Dec 2022 14:44:34 +0800
From: kernel test robot <lkp@...el.com>
To: Jiapeng Chong <jiapeng.chong@...ux.alibaba.com>, wei.liu@...nel.org
Cc: oe-kbuild-all@...ts.linux.dev, paul@....org, davem@...emloft.net,
edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
ast@...nel.org, daniel@...earbox.net, hawk@...nel.org,
john.fastabend@...il.com, xen-devel@...ts.xenproject.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
bpf@...r.kernel.org,
Jiapeng Chong <jiapeng.chong@...ux.alibaba.com>,
Abaci Robot <abaci@...ux.alibaba.com>
Subject: Re: [PATCH] xen-netback: Remove set but unused variable 'pending_idx'
Hi Jiapeng,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.1-rc8 next-20221208]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Jiapeng-Chong/xen-netback-Remove-set-but-unused-variable-pending_idx/20221209-121717
patch link: https://lore.kernel.org/r/20221209034036.37280-1-jiapeng.chong%40linux.alibaba.com
patch subject: [PATCH] xen-netback: Remove set but unused variable 'pending_idx'
config: x86_64-allyesconfig
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/0a9a4de740b57dfd72a5afe13c96a048ece79171
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Jiapeng-Chong/xen-netback-Remove-set-but-unused-variable-pending_idx/20221209-121717
git checkout 0a9a4de740b57dfd72a5afe13c96a048ece79171
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/net/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
drivers/net/xen-netback/netback.c: In function 'xenvif_tx_build_gops':
>> drivers/net/xen-netback/netback.c:889:36: warning: variable 'index' set but not used [-Wunused-but-set-variable]
889 | pending_ring_idx_t index;
| ^~~~~
vim +/index +889 drivers/net/xen-netback/netback.c
210c34dcd8d912 Paul Durrant 2015-09-02 871
e9ce7cb6b10740 Wei Liu 2014-06-04 872 static void xenvif_tx_build_gops(struct xenvif_queue *queue,
bdab82759b8e36 Zoltan Kiss 2014-04-02 873 int budget,
bdab82759b8e36 Zoltan Kiss 2014-04-02 874 unsigned *copy_ops,
bdab82759b8e36 Zoltan Kiss 2014-04-02 875 unsigned *map_ops)
f942dc2552b8bf Ian Campbell 2011-03-15 876 {
2475b22526d702 Ross Lagerwall 2015-08-03 877 struct sk_buff *skb, *nskb;
f942dc2552b8bf Ian Campbell 2011-03-15 878 int ret;
2475b22526d702 Ross Lagerwall 2015-08-03 879 unsigned int frag_overflow;
f942dc2552b8bf Ian Campbell 2011-03-15 880
e9ce7cb6b10740 Wei Liu 2014-06-04 881 while (skb_queue_len(&queue->tx_queue) < budget) {
f942dc2552b8bf Ian Campbell 2011-03-15 882 struct xen_netif_tx_request txreq;
376414945d15aa Wei Liu 2013-05-02 883 struct xen_netif_tx_request txfrags[XEN_NETBK_LEGACY_SLOTS_MAX];
f942dc2552b8bf Ian Campbell 2011-03-15 884 struct xen_netif_extra_info extras[XEN_NETIF_EXTRA_TYPE_MAX-1];
562abd39a19027 Paul Durrant 2016-03-10 885 unsigned int extra_count;
f942dc2552b8bf Ian Campbell 2011-03-15 886 RING_IDX idx;
f942dc2552b8bf Ian Campbell 2011-03-15 887 int work_to_do;
f942dc2552b8bf Ian Campbell 2011-03-15 888 unsigned int data_len;
f942dc2552b8bf Ian Campbell 2011-03-15 @889 pending_ring_idx_t index;
f942dc2552b8bf Ian Campbell 2011-03-15 890
e9ce7cb6b10740 Wei Liu 2014-06-04 891 if (queue->tx.sring->req_prod - queue->tx.req_cons >
48856286b64e4b Ian Campbell 2013-02-06 892 XEN_NETIF_TX_RING_SIZE) {
e9ce7cb6b10740 Wei Liu 2014-06-04 893 netdev_err(queue->vif->dev,
48856286b64e4b Ian Campbell 2013-02-06 894 "Impossible number of requests. "
48856286b64e4b Ian Campbell 2013-02-06 895 "req_prod %d, req_cons %d, size %ld\n",
e9ce7cb6b10740 Wei Liu 2014-06-04 896 queue->tx.sring->req_prod, queue->tx.req_cons,
48856286b64e4b Ian Campbell 2013-02-06 897 XEN_NETIF_TX_RING_SIZE);
e9ce7cb6b10740 Wei Liu 2014-06-04 898 xenvif_fatal_tx_err(queue->vif);
e9d8b2c2968499 Wei Liu 2014-04-01 899 break;
48856286b64e4b Ian Campbell 2013-02-06 900 }
48856286b64e4b Ian Campbell 2013-02-06 901
09e545f7381459 Juergen Gross 2022-05-30 902 work_to_do = XEN_RING_NR_UNCONSUMED_REQUESTS(&queue->tx);
b3f980bd827e6e Wei Liu 2013-08-26 903 if (!work_to_do)
b3f980bd827e6e Wei Liu 2013-08-26 904 break;
f942dc2552b8bf Ian Campbell 2011-03-15 905
e9ce7cb6b10740 Wei Liu 2014-06-04 906 idx = queue->tx.req_cons;
f942dc2552b8bf Ian Campbell 2011-03-15 907 rmb(); /* Ensure that we see the request before we copy it. */
68a33bfd8403e4 David Vrabel 2015-10-30 908 RING_COPY_REQUEST(&queue->tx, idx, &txreq);
f942dc2552b8bf Ian Campbell 2011-03-15 909
f942dc2552b8bf Ian Campbell 2011-03-15 910 /* Credit-based scheduling. */
e9ce7cb6b10740 Wei Liu 2014-06-04 911 if (txreq.size > queue->remaining_credit &&
e9ce7cb6b10740 Wei Liu 2014-06-04 912 tx_credit_exceeded(queue, txreq.size))
b3f980bd827e6e Wei Liu 2013-08-26 913 break;
f942dc2552b8bf Ian Campbell 2011-03-15 914
e9ce7cb6b10740 Wei Liu 2014-06-04 915 queue->remaining_credit -= txreq.size;
f942dc2552b8bf Ian Campbell 2011-03-15 916
f942dc2552b8bf Ian Campbell 2011-03-15 917 work_to_do--;
e9ce7cb6b10740 Wei Liu 2014-06-04 918 queue->tx.req_cons = ++idx;
f942dc2552b8bf Ian Campbell 2011-03-15 919
f942dc2552b8bf Ian Campbell 2011-03-15 920 memset(extras, 0, sizeof(extras));
562abd39a19027 Paul Durrant 2016-03-10 921 extra_count = 0;
f942dc2552b8bf Ian Campbell 2011-03-15 922 if (txreq.flags & XEN_NETTXF_extra_info) {
e9ce7cb6b10740 Wei Liu 2014-06-04 923 work_to_do = xenvif_get_extras(queue, extras,
562abd39a19027 Paul Durrant 2016-03-10 924 &extra_count,
f942dc2552b8bf Ian Campbell 2011-03-15 925 work_to_do);
e9ce7cb6b10740 Wei Liu 2014-06-04 926 idx = queue->tx.req_cons;
48856286b64e4b Ian Campbell 2013-02-06 927 if (unlikely(work_to_do < 0))
b3f980bd827e6e Wei Liu 2013-08-26 928 break;
f942dc2552b8bf Ian Campbell 2011-03-15 929 }
f942dc2552b8bf Ian Campbell 2011-03-15 930
210c34dcd8d912 Paul Durrant 2015-09-02 931 if (extras[XEN_NETIF_EXTRA_TYPE_MCAST_ADD - 1].type) {
210c34dcd8d912 Paul Durrant 2015-09-02 932 struct xen_netif_extra_info *extra;
210c34dcd8d912 Paul Durrant 2015-09-02 933
210c34dcd8d912 Paul Durrant 2015-09-02 934 extra = &extras[XEN_NETIF_EXTRA_TYPE_MCAST_ADD - 1];
210c34dcd8d912 Paul Durrant 2015-09-02 935 ret = xenvif_mcast_add(queue->vif, extra->u.mcast.addr);
210c34dcd8d912 Paul Durrant 2015-09-02 936
562abd39a19027 Paul Durrant 2016-03-10 937 make_tx_response(queue, &txreq, extra_count,
210c34dcd8d912 Paul Durrant 2015-09-02 938 (ret == 0) ?
210c34dcd8d912 Paul Durrant 2015-09-02 939 XEN_NETIF_RSP_OKAY :
210c34dcd8d912 Paul Durrant 2015-09-02 940 XEN_NETIF_RSP_ERROR);
210c34dcd8d912 Paul Durrant 2015-09-02 941 push_tx_responses(queue);
210c34dcd8d912 Paul Durrant 2015-09-02 942 continue;
210c34dcd8d912 Paul Durrant 2015-09-02 943 }
210c34dcd8d912 Paul Durrant 2015-09-02 944
210c34dcd8d912 Paul Durrant 2015-09-02 945 if (extras[XEN_NETIF_EXTRA_TYPE_MCAST_DEL - 1].type) {
210c34dcd8d912 Paul Durrant 2015-09-02 946 struct xen_netif_extra_info *extra;
210c34dcd8d912 Paul Durrant 2015-09-02 947
210c34dcd8d912 Paul Durrant 2015-09-02 948 extra = &extras[XEN_NETIF_EXTRA_TYPE_MCAST_DEL - 1];
210c34dcd8d912 Paul Durrant 2015-09-02 949 xenvif_mcast_del(queue->vif, extra->u.mcast.addr);
210c34dcd8d912 Paul Durrant 2015-09-02 950
562abd39a19027 Paul Durrant 2016-03-10 951 make_tx_response(queue, &txreq, extra_count,
562abd39a19027 Paul Durrant 2016-03-10 952 XEN_NETIF_RSP_OKAY);
210c34dcd8d912 Paul Durrant 2015-09-02 953 push_tx_responses(queue);
210c34dcd8d912 Paul Durrant 2015-09-02 954 continue;
210c34dcd8d912 Paul Durrant 2015-09-02 955 }
210c34dcd8d912 Paul Durrant 2015-09-02 956
ad7f402ae4f466 Ross Lagerwall 2022-11-22 957 data_len = (txreq.size > XEN_NETBACK_TX_COPY_LEN) ?
ad7f402ae4f466 Ross Lagerwall 2022-11-22 958 XEN_NETBACK_TX_COPY_LEN : txreq.size;
ad7f402ae4f466 Ross Lagerwall 2022-11-22 959
562abd39a19027 Paul Durrant 2016-03-10 960 ret = xenvif_count_requests(queue, &txreq, extra_count,
562abd39a19027 Paul Durrant 2016-03-10 961 txfrags, work_to_do);
ad7f402ae4f466 Ross Lagerwall 2022-11-22 962
48856286b64e4b Ian Campbell 2013-02-06 963 if (unlikely(ret < 0))
b3f980bd827e6e Wei Liu 2013-08-26 964 break;
48856286b64e4b Ian Campbell 2013-02-06 965
f942dc2552b8bf Ian Campbell 2011-03-15 966 idx += ret;
f942dc2552b8bf Ian Campbell 2011-03-15 967
f942dc2552b8bf Ian Campbell 2011-03-15 968 if (unlikely(txreq.size < ETH_HLEN)) {
e9ce7cb6b10740 Wei Liu 2014-06-04 969 netdev_dbg(queue->vif->dev,
f942dc2552b8bf Ian Campbell 2011-03-15 970 "Bad packet size: %d\n", txreq.size);
562abd39a19027 Paul Durrant 2016-03-10 971 xenvif_tx_err(queue, &txreq, extra_count, idx);
b3f980bd827e6e Wei Liu 2013-08-26 972 break;
f942dc2552b8bf Ian Campbell 2011-03-15 973 }
f942dc2552b8bf Ian Campbell 2011-03-15 974
f942dc2552b8bf Ian Campbell 2011-03-15 975 /* No crossing a page as the payload mustn't fragment. */
d0089e8a0e4c97 Julien Grall 2015-05-05 976 if (unlikely((txreq.offset + txreq.size) > XEN_PAGE_SIZE)) {
e9ce7cb6b10740 Wei Liu 2014-06-04 977 netdev_err(queue->vif->dev,
68946159da1b0b Julien Grall 2015-06-16 978 "txreq.offset: %u, size: %u, end: %lu\n",
f942dc2552b8bf Ian Campbell 2011-03-15 979 txreq.offset, txreq.size,
d0089e8a0e4c97 Julien Grall 2015-05-05 980 (unsigned long)(txreq.offset&~XEN_PAGE_MASK) + txreq.size);
e9ce7cb6b10740 Wei Liu 2014-06-04 981 xenvif_fatal_tx_err(queue->vif);
b3f980bd827e6e Wei Liu 2013-08-26 982 break;
f942dc2552b8bf Ian Campbell 2011-03-15 983 }
f942dc2552b8bf Ian Campbell 2011-03-15 984
e9ce7cb6b10740 Wei Liu 2014-06-04 985 index = pending_index(queue->pending_cons);
f942dc2552b8bf Ian Campbell 2011-03-15 986
ad7f402ae4f466 Ross Lagerwall 2022-11-22 987 if (ret >= XEN_NETBK_LEGACY_SLOTS_MAX - 1 && data_len < txreq.size)
ad7f402ae4f466 Ross Lagerwall 2022-11-22 988 data_len = txreq.size;
f942dc2552b8bf Ian Campbell 2011-03-15 989
e3377f36ca20a0 Zoltan Kiss 2014-03-06 990 skb = xenvif_alloc_skb(data_len);
f942dc2552b8bf Ian Campbell 2011-03-15 991 if (unlikely(skb == NULL)) {
e9ce7cb6b10740 Wei Liu 2014-06-04 992 netdev_dbg(queue->vif->dev,
f942dc2552b8bf Ian Campbell 2011-03-15 993 "Can't allocate a skb in start_xmit.\n");
562abd39a19027 Paul Durrant 2016-03-10 994 xenvif_tx_err(queue, &txreq, extra_count, idx);
f942dc2552b8bf Ian Campbell 2011-03-15 995 break;
f942dc2552b8bf Ian Campbell 2011-03-15 996 }
f942dc2552b8bf Ian Campbell 2011-03-15 997
2475b22526d702 Ross Lagerwall 2015-08-03 998 skb_shinfo(skb)->nr_frags = ret;
2475b22526d702 Ross Lagerwall 2015-08-03 999 /* At this point shinfo->nr_frags is in fact the number of
2475b22526d702 Ross Lagerwall 2015-08-03 1000 * slots, which can be as large as XEN_NETBK_LEGACY_SLOTS_MAX.
2475b22526d702 Ross Lagerwall 2015-08-03 1001 */
2475b22526d702 Ross Lagerwall 2015-08-03 1002 frag_overflow = 0;
2475b22526d702 Ross Lagerwall 2015-08-03 1003 nskb = NULL;
2475b22526d702 Ross Lagerwall 2015-08-03 1004 if (skb_shinfo(skb)->nr_frags > MAX_SKB_FRAGS) {
2475b22526d702 Ross Lagerwall 2015-08-03 1005 frag_overflow = skb_shinfo(skb)->nr_frags - MAX_SKB_FRAGS;
2475b22526d702 Ross Lagerwall 2015-08-03 1006 BUG_ON(frag_overflow > MAX_SKB_FRAGS);
2475b22526d702 Ross Lagerwall 2015-08-03 1007 skb_shinfo(skb)->nr_frags = MAX_SKB_FRAGS;
2475b22526d702 Ross Lagerwall 2015-08-03 1008 nskb = xenvif_alloc_skb(0);
2475b22526d702 Ross Lagerwall 2015-08-03 1009 if (unlikely(nskb == NULL)) {
3a0233ddec554b Ross Lagerwall 2019-08-05 1010 skb_shinfo(skb)->nr_frags = 0;
2475b22526d702 Ross Lagerwall 2015-08-03 1011 kfree_skb(skb);
562abd39a19027 Paul Durrant 2016-03-10 1012 xenvif_tx_err(queue, &txreq, extra_count, idx);
2475b22526d702 Ross Lagerwall 2015-08-03 1013 if (net_ratelimit())
2475b22526d702 Ross Lagerwall 2015-08-03 1014 netdev_err(queue->vif->dev,
2475b22526d702 Ross Lagerwall 2015-08-03 1015 "Can't allocate the frag_list skb.\n");
2475b22526d702 Ross Lagerwall 2015-08-03 1016 break;
2475b22526d702 Ross Lagerwall 2015-08-03 1017 }
2475b22526d702 Ross Lagerwall 2015-08-03 1018 }
2475b22526d702 Ross Lagerwall 2015-08-03 1019
f942dc2552b8bf Ian Campbell 2011-03-15 1020 if (extras[XEN_NETIF_EXTRA_TYPE_GSO - 1].type) {
f942dc2552b8bf Ian Campbell 2011-03-15 1021 struct xen_netif_extra_info *gso;
f942dc2552b8bf Ian Campbell 2011-03-15 1022 gso = &extras[XEN_NETIF_EXTRA_TYPE_GSO - 1];
f942dc2552b8bf Ian Campbell 2011-03-15 1023
e9ce7cb6b10740 Wei Liu 2014-06-04 1024 if (xenvif_set_skb_gso(queue->vif, skb, gso)) {
7376419a469765 Wei Liu 2013-08-26 1025 /* Failure in xenvif_set_skb_gso is fatal. */
3a0233ddec554b Ross Lagerwall 2019-08-05 1026 skb_shinfo(skb)->nr_frags = 0;
f942dc2552b8bf Ian Campbell 2011-03-15 1027 kfree_skb(skb);
2475b22526d702 Ross Lagerwall 2015-08-03 1028 kfree_skb(nskb);
b3f980bd827e6e Wei Liu 2013-08-26 1029 break;
f942dc2552b8bf Ian Campbell 2011-03-15 1030 }
f942dc2552b8bf Ian Campbell 2011-03-15 1031 }
f942dc2552b8bf Ian Campbell 2011-03-15 1032
c2d09fde7299f6 Paul Durrant 2016-05-13 1033 if (extras[XEN_NETIF_EXTRA_TYPE_HASH - 1].type) {
c2d09fde7299f6 Paul Durrant 2016-05-13 1034 struct xen_netif_extra_info *extra;
c2d09fde7299f6 Paul Durrant 2016-05-13 1035 enum pkt_hash_types type = PKT_HASH_TYPE_NONE;
c2d09fde7299f6 Paul Durrant 2016-05-13 1036
c2d09fde7299f6 Paul Durrant 2016-05-13 1037 extra = &extras[XEN_NETIF_EXTRA_TYPE_HASH - 1];
c2d09fde7299f6 Paul Durrant 2016-05-13 1038
c2d09fde7299f6 Paul Durrant 2016-05-13 1039 switch (extra->u.hash.type) {
c2d09fde7299f6 Paul Durrant 2016-05-13 1040 case _XEN_NETIF_CTRL_HASH_TYPE_IPV4:
c2d09fde7299f6 Paul Durrant 2016-05-13 1041 case _XEN_NETIF_CTRL_HASH_TYPE_IPV6:
c2d09fde7299f6 Paul Durrant 2016-05-13 1042 type = PKT_HASH_TYPE_L3;
c2d09fde7299f6 Paul Durrant 2016-05-13 1043 break;
c2d09fde7299f6 Paul Durrant 2016-05-13 1044
c2d09fde7299f6 Paul Durrant 2016-05-13 1045 case _XEN_NETIF_CTRL_HASH_TYPE_IPV4_TCP:
c2d09fde7299f6 Paul Durrant 2016-05-13 1046 case _XEN_NETIF_CTRL_HASH_TYPE_IPV6_TCP:
c2d09fde7299f6 Paul Durrant 2016-05-13 1047 type = PKT_HASH_TYPE_L4;
c2d09fde7299f6 Paul Durrant 2016-05-13 1048 break;
c2d09fde7299f6 Paul Durrant 2016-05-13 1049
c2d09fde7299f6 Paul Durrant 2016-05-13 1050 default:
c2d09fde7299f6 Paul Durrant 2016-05-13 1051 break;
c2d09fde7299f6 Paul Durrant 2016-05-13 1052 }
c2d09fde7299f6 Paul Durrant 2016-05-13 1053
c2d09fde7299f6 Paul Durrant 2016-05-13 1054 if (type != PKT_HASH_TYPE_NONE)
c2d09fde7299f6 Paul Durrant 2016-05-13 1055 skb_set_hash(skb,
c2d09fde7299f6 Paul Durrant 2016-05-13 1056 *(u32 *)extra->u.hash.value,
c2d09fde7299f6 Paul Durrant 2016-05-13 1057 type);
c2d09fde7299f6 Paul Durrant 2016-05-13 1058 }
c2d09fde7299f6 Paul Durrant 2016-05-13 1059
ad7f402ae4f466 Ross Lagerwall 2022-11-22 1060 xenvif_get_requests(queue, skb, &txreq, txfrags, copy_ops,
ad7f402ae4f466 Ross Lagerwall 2022-11-22 1061 map_ops, frag_overflow, nskb, extra_count,
ad7f402ae4f466 Ross Lagerwall 2022-11-22 1062 data_len);
f942dc2552b8bf Ian Campbell 2011-03-15 1063
e9ce7cb6b10740 Wei Liu 2014-06-04 1064 __skb_queue_tail(&queue->tx_queue, skb);
1e0b6eac6a150a Annie Li 2012-06-27 1065
e9ce7cb6b10740 Wei Liu 2014-06-04 1066 queue->tx.req_cons = idx;
f942dc2552b8bf Ian Campbell 2011-03-15 1067
ad7f402ae4f466 Ross Lagerwall 2022-11-22 1068 if ((*map_ops >= ARRAY_SIZE(queue->tx_map_ops)) ||
e9ce7cb6b10740 Wei Liu 2014-06-04 1069 (*copy_ops >= ARRAY_SIZE(queue->tx_copy_ops)))
f942dc2552b8bf Ian Campbell 2011-03-15 1070 break;
f942dc2552b8bf Ian Campbell 2011-03-15 1071 }
f942dc2552b8bf Ian Campbell 2011-03-15 1072
bdab82759b8e36 Zoltan Kiss 2014-04-02 1073 return;
f942dc2552b8bf Ian Campbell 2011-03-15 1074 }
f942dc2552b8bf Ian Campbell 2011-03-15 1075
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (291978 bytes)
Powered by blists - more mailing lists