Hi Boris,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on net-next/master]
url:
https://github.com/0day-ci/linux/commits/Boris-Pismenny/nvme-tcp-receive-...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
879456bedbe54f2d38b15c21dc5e3c30232b53e1
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
#
https://github.com/0day-ci/linux/commit/990254a46f72010830cdf80ed80ed506f...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Boris-Pismenny/nvme-tcp-receive-offloads/20201001-002308
git checkout 990254a46f72010830cdf80ed80ed506f268e759
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=xtensa
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/linux/bits.h:6,
from include/linux/bitops.h:5,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from include/linux/timer.h:5,
from include/linux/netdevice.h:24,
from drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:4:
include/vdso/bits.h:7:26: warning: left shift count >= width of type
[-Wshift-count-overflow]
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
include/linux/mlx5/mlx5_ifc.h:10680:64: note: in expansion of macro 'BIT'
10680 | MLX5_HCA_CAP_GENERAL_OBJECT_TYPES_NVMEOTCP_TAG_BUFFER_TABLE = BIT(0x21),
| ^~~
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:68:6:
error: redefinition of 'mlx5e_accel_fs_del_sk'
68 | void
mlx5e_accel_fs_del_sk(struct mlx5_flow_handle *rule)
| ^~~~~~~~~~~~~~~~~~~~~
In file included from drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:5:
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h:23:20: note: previous
definition of 'mlx5e_accel_fs_del_sk' was here
23 | static inline void mlx5e_accel_fs_del_sk(struct mlx5_flow_handle *rule) {}
| ^~~~~~~~~~~~~~~~~~~~~
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:73:26:
error: redefinition of 'mlx5e_accel_fs_add_sk'
73 | struct
mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_priv *priv,
| ^~~~~~~~~~~~~~~~~~~~~
In file included from drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:5:
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h:19:40: note: previous
definition of 'mlx5e_accel_fs_add_sk' was here
19 | static inline struct mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_priv
*priv,
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c: In function
'mlx5e_accel_fs_add_sk':
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:88:19:
error: 'struct mlx5e_flow_steering' has no member named 'accel_tcp'
88 | fs_tcp = priv->fs.accel_tcp;
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c: In function
'accel_fs_tcp_add_default_rule':
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:160:19: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
160 | fs_tcp = priv->fs.accel_tcp;
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c: In function
'accel_fs_tcp_create_table':
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:269:41: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
269 | struct mlx5e_flow_table *ft = &priv->fs.accel_tcp->tables[type];
| ^
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:276:18:
error: 'MLX5E_ACCEL_FS_TCP_FT_LEVEL' undeclared (first use in this function); did
you mean 'MLX5E_ACCEL_FS_ESP_FT_LEVEL'?
276 | ft_attr.level =
MLX5E_ACCEL_FS_TCP_FT_LEVEL;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| MLX5E_ACCEL_FS_ESP_FT_LEVEL
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:276:18: note: each undeclared
identifier is reported only once for each function it appears in
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c: In function
'accel_fs_tcp_enable':
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:328:21: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
328 | dest.ft = priv->fs.accel_tcp->tables[i].t;
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:339:24: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
339 | refcount_set(&priv->fs.accel_tcp->ref_count, 1);
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c: In function
'accel_fs_tcp_destroy_table':
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:347:19: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
347 | fs_tcp = priv->fs.accel_tcp;
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c: At top level:
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:356:6:
error: redefinition of 'mlx5e_accel_fs_tcp_destroy'
356 | void
mlx5e_accel_fs_tcp_destroy(struct mlx5e_priv *priv)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:5:
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h:18:20: note: previous
definition of 'mlx5e_accel_fs_tcp_destroy' was here
18 | static inline void mlx5e_accel_fs_tcp_destroy(struct mlx5e_priv *priv) {}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c: In function
'mlx5e_accel_fs_tcp_destroy':
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:360:15: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
360 | if (!priv->fs.accel_tcp)
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:363:38: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
363 | if (!refcount_dec_and_test(&priv->fs.accel_tcp->ref_count))
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:371:16: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
371 | kfree(priv->fs.accel_tcp);
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:372:10: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
372 | priv->fs.accel_tcp = NULL;
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c: At top level:
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:375:5:
error: redefinition of 'mlx5e_accel_fs_tcp_create'
375 | int
mlx5e_accel_fs_tcp_create(struct mlx5e_priv *priv)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:5:
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.h:17:19: note: previous
definition of 'mlx5e_accel_fs_tcp_create' was here
17 | static inline int mlx5e_accel_fs_tcp_create(struct mlx5e_priv *priv) { return
0; }
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c: In function
'mlx5e_accel_fs_tcp_create':
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:382:14: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
382 | if (priv->fs.accel_tcp) {
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:383:25: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
383 | refcount_inc(&priv->fs.accel_tcp->ref_count);
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:387:10: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
387 | priv->fs.accel_tcp = kzalloc(sizeof(*priv->fs.accel_tcp), GFP_KERNEL);
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:387:47: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
387 | priv->fs.accel_tcp = kzalloc(sizeof(*priv->fs.accel_tcp), GFP_KERNEL);
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:388:15: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
388 | if (!priv->fs.accel_tcp)
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:407:16: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
407 | kfree(priv->fs.accel_tcp);
| ^
drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c:408:10: error: 'struct
mlx5e_flow_steering' has no member named 'accel_tcp'
408 | priv->fs.accel_tcp = NULL;
| ^
--
In file included from include/linux/bits.h:6,
from include/linux/bitops.h:5,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from include/linux/timer.h:5,
from include/linux/netdevice.h:24,
from drivers/net/ethernet/mellanox/mlx5/core/en_accel/nvmeotcp.c:4:
include/vdso/bits.h:7:26: warning: left shift count >= width of type
[-Wshift-count-overflow]
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
include/linux/mlx5/mlx5_ifc.h:10680:64: note: in expansion of macro 'BIT'
10680 | MLX5_HCA_CAP_GENERAL_OBJECT_TYPES_NVMEOTCP_TAG_BUFFER_TABLE = BIT(0x21),
| ^~~
drivers/net/ethernet/mellanox/mlx5/core/en_accel/nvmeotcp.c: In function
'mlx5e_nvmeotcp_queue_init':
>
drivers/net/ethernet/mellanox/mlx5/core/en_accel/nvmeotcp.c:613:7: warning:
'stats' is used uninitialized in this function [-Wuninitialized]
613 |
stats->nvmeotcp_queue_init_fail++;
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/mlx5e_accel_fs_del_sk +68 drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c
5229a96e59ec324 Tariq Toukan 2020-06-16 67
5229a96e59ec324 Tariq Toukan 2020-06-16 @68 void mlx5e_accel_fs_del_sk(struct
mlx5_flow_handle *rule)
5229a96e59ec324 Tariq Toukan 2020-06-16 69 {
5229a96e59ec324 Tariq Toukan 2020-06-16 70 mlx5_del_flow_rules(rule);
5229a96e59ec324 Tariq Toukan 2020-06-16 71 }
5229a96e59ec324 Tariq Toukan 2020-06-16 72
5229a96e59ec324 Tariq Toukan 2020-06-16 @73 struct mlx5_flow_handle
*mlx5e_accel_fs_add_sk(struct mlx5e_priv *priv,
5229a96e59ec324 Tariq Toukan 2020-06-16 74 struct sock *sk, u32 tirn,
5229a96e59ec324 Tariq Toukan 2020-06-16 75 uint32_t flow_tag)
5229a96e59ec324 Tariq Toukan 2020-06-16 76 {
5229a96e59ec324 Tariq Toukan 2020-06-16 77 struct mlx5_flow_destination dest = {};
5229a96e59ec324 Tariq Toukan 2020-06-16 78 struct mlx5e_flow_table *ft = NULL;
5229a96e59ec324 Tariq Toukan 2020-06-16 79 struct mlx5e_accel_fs_tcp *fs_tcp;
5229a96e59ec324 Tariq Toukan 2020-06-16 80 MLX5_DECLARE_FLOW_ACT(flow_act);
5229a96e59ec324 Tariq Toukan 2020-06-16 81 struct mlx5_flow_handle *flow;
5229a96e59ec324 Tariq Toukan 2020-06-16 82 struct mlx5_flow_spec *spec;
5229a96e59ec324 Tariq Toukan 2020-06-16 83
5229a96e59ec324 Tariq Toukan 2020-06-16 84 spec = kvzalloc(sizeof(*spec),
GFP_KERNEL);
5229a96e59ec324 Tariq Toukan 2020-06-16 85 if (!spec)
5229a96e59ec324 Tariq Toukan 2020-06-16 86 return ERR_PTR(-ENOMEM);
5229a96e59ec324 Tariq Toukan 2020-06-16 87
5229a96e59ec324 Tariq Toukan 2020-06-16 @88 fs_tcp = priv->fs.accel_tcp;
5229a96e59ec324 Tariq Toukan 2020-06-16 89
5229a96e59ec324 Tariq Toukan 2020-06-16 90 spec->match_criteria_enable =
MLX5_MATCH_OUTER_HEADERS;
5229a96e59ec324 Tariq Toukan 2020-06-16 91
5229a96e59ec324 Tariq Toukan 2020-06-16 92 switch (sk->sk_family) {
5229a96e59ec324 Tariq Toukan 2020-06-16 93 case AF_INET:
5229a96e59ec324 Tariq Toukan 2020-06-16 94 accel_fs_tcp_set_ipv4_flow(spec, sk);
5229a96e59ec324 Tariq Toukan 2020-06-16 95 ft =
&fs_tcp->tables[ACCEL_FS_IPV4_TCP];
5229a96e59ec324 Tariq Toukan 2020-06-16 96 mlx5e_dbg(HW, priv, "%s flow is
%pI4:%d -> %pI4:%d\n", __func__,
5229a96e59ec324 Tariq Toukan 2020-06-16 97 &inet_sk(sk)->inet_rcv_saddr,
5229a96e59ec324 Tariq Toukan 2020-06-16 98 inet_sk(sk)->inet_sport,
5229a96e59ec324 Tariq Toukan 2020-06-16 99 &inet_sk(sk)->inet_daddr,
5229a96e59ec324 Tariq Toukan 2020-06-16 100 inet_sk(sk)->inet_dport);
5229a96e59ec324 Tariq Toukan 2020-06-16 101 break;
5229a96e59ec324 Tariq Toukan 2020-06-16 102 #if IS_ENABLED(CONFIG_IPV6)
5229a96e59ec324 Tariq Toukan 2020-06-16 103 case AF_INET6:
5229a96e59ec324 Tariq Toukan 2020-06-16 104 if (!sk->sk_ipv6only &&
5229a96e59ec324 Tariq Toukan 2020-06-16 105
ipv6_addr_type(&sk->sk_v6_daddr) == IPV6_ADDR_MAPPED) {
5229a96e59ec324 Tariq Toukan 2020-06-16 106 accel_fs_tcp_set_ipv4_flow(spec, sk);
5229a96e59ec324 Tariq Toukan 2020-06-16 107 ft =
&fs_tcp->tables[ACCEL_FS_IPV4_TCP];
5229a96e59ec324 Tariq Toukan 2020-06-16 108 } else {
5229a96e59ec324 Tariq Toukan 2020-06-16 109 accel_fs_tcp_set_ipv6_flow(spec, sk);
5229a96e59ec324 Tariq Toukan 2020-06-16 110 ft =
&fs_tcp->tables[ACCEL_FS_IPV6_TCP];
5229a96e59ec324 Tariq Toukan 2020-06-16 111 }
5229a96e59ec324 Tariq Toukan 2020-06-16 112 break;
5229a96e59ec324 Tariq Toukan 2020-06-16 113 #endif
5229a96e59ec324 Tariq Toukan 2020-06-16 114 default:
5229a96e59ec324 Tariq Toukan 2020-06-16 115 break;
5229a96e59ec324 Tariq Toukan 2020-06-16 116 }
5229a96e59ec324 Tariq Toukan 2020-06-16 117
5229a96e59ec324 Tariq Toukan 2020-06-16 118 if (!ft) {
5229a96e59ec324 Tariq Toukan 2020-06-16 119 flow = ERR_PTR(-EINVAL);
5229a96e59ec324 Tariq Toukan 2020-06-16 120 goto out;
5229a96e59ec324 Tariq Toukan 2020-06-16 121 }
5229a96e59ec324 Tariq Toukan 2020-06-16 122
5229a96e59ec324 Tariq Toukan 2020-06-16 123 MLX5_SET_TO_ONES(fte_match_param,
spec->match_criteria,
5229a96e59ec324 Tariq Toukan 2020-06-16 124 outer_headers.tcp_dport);
5229a96e59ec324 Tariq Toukan 2020-06-16 125 MLX5_SET_TO_ONES(fte_match_param,
spec->match_criteria,
5229a96e59ec324 Tariq Toukan 2020-06-16 126 outer_headers.tcp_sport);
5229a96e59ec324 Tariq Toukan 2020-06-16 127 MLX5_SET(fte_match_param,
spec->match_value, outer_headers.tcp_dport,
5229a96e59ec324 Tariq Toukan 2020-06-16 128 ntohs(inet_sk(sk)->inet_sport));
5229a96e59ec324 Tariq Toukan 2020-06-16 129 MLX5_SET(fte_match_param,
spec->match_value, outer_headers.tcp_sport,
5229a96e59ec324 Tariq Toukan 2020-06-16 130 ntohs(inet_sk(sk)->inet_dport));
5229a96e59ec324 Tariq Toukan 2020-06-16 131
5229a96e59ec324 Tariq Toukan 2020-06-16 132 dest.type =
MLX5_FLOW_DESTINATION_TYPE_TIR;
5229a96e59ec324 Tariq Toukan 2020-06-16 133 dest.tir_num = tirn;
5229a96e59ec324 Tariq Toukan 2020-06-16 134 if (flow_tag != MLX5_FS_DEFAULT_FLOW_TAG)
{
5229a96e59ec324 Tariq Toukan 2020-06-16 135 spec->flow_context.flow_tag =
flow_tag;
5229a96e59ec324 Tariq Toukan 2020-06-16 136 spec->flow_context.flags =
FLOW_CONTEXT_HAS_TAG;
5229a96e59ec324 Tariq Toukan 2020-06-16 137 }
5229a96e59ec324 Tariq Toukan 2020-06-16 138
5229a96e59ec324 Tariq Toukan 2020-06-16 139 flow = mlx5_add_flow_rules(ft->t, spec,
&flow_act, &dest, 1);
5229a96e59ec324 Tariq Toukan 2020-06-16 140
5229a96e59ec324 Tariq Toukan 2020-06-16 141 if (IS_ERR(flow))
5229a96e59ec324 Tariq Toukan 2020-06-16 142 netdev_err(priv->netdev,
"mlx5_add_flow_rules() failed, flow is %ld\n",
5229a96e59ec324 Tariq Toukan 2020-06-16 143 PTR_ERR(flow));
5229a96e59ec324 Tariq Toukan 2020-06-16 144
5229a96e59ec324 Tariq Toukan 2020-06-16 145 out:
5229a96e59ec324 Tariq Toukan 2020-06-16 146 kvfree(spec);
5229a96e59ec324 Tariq Toukan 2020-06-16 147 return flow;
5229a96e59ec324 Tariq Toukan 2020-06-16 148 }
5229a96e59ec324 Tariq Toukan 2020-06-16 149
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org