From: kernel test robot <lkp@intel.com>
To: Tariq Toukan <tariqt@nvidia.com>,
"David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>,
Andrew Lunn <andrew+netdev@lunn.ch>
Cc: oe-kbuild-all@lists.linux.dev, netdev@vger.kernel.org,
Saeed Mahameed <saeedm@nvidia.com>, Gal Pressman <gal@nvidia.com>,
Leon Romanovsky <leonro@nvidia.com>,
Jiri Pirko <jiri@resnulli.us>,
Carolina Jubran <cjubran@nvidia.com>,
Cosmin Ratiu <cratiu@nvidia.com>,
Tariq Toukan <tariqt@nvidia.com>
Subject: Re: [PATCH net-next 3/8] devlink: Extend devlink rate API with traffic classes bandwidth management
Date: Thu, 14 Nov 2024 08:46:46 +0800 [thread overview]
Message-ID: <202411140820.ybeyWmcE-lkp@intel.com> (raw)
In-Reply-To: <20241113180034.714102-4-tariqt@nvidia.com>
Hi Tariq,
kernel test robot noticed the following build warnings:
[auto build test WARNING on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Tariq-Toukan/net-mlx5-DR-expand-SWS-STE-callbacks-and-consolidate-common-structs/20241114-022031
base: net-next/main
patch link: https://lore.kernel.org/r/20241113180034.714102-4-tariqt%40nvidia.com
patch subject: [PATCH net-next 3/8] devlink: Extend devlink rate API with traffic classes bandwidth management
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20241114/202411140820.ybeyWmcE-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241114/202411140820.ybeyWmcE-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411140820.ybeyWmcE-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from net/devlink/devl_internal.h:14,
from net/devlink/rate.c:7:
include/net/devlink.h:121:19: error: 'IEEE_8021QAZ_MAX_TCS' undeclared here (not in a function)
121 | u32 tc_bw[IEEE_8021QAZ_MAX_TCS];
| ^~~~~~~~~~~~~~~~~~~~
net/devlink/rate.c: In function 'devlink_nl_rate_set':
>> net/devlink/rate.c:335:13: warning: unused variable 'tc_bw' [-Wunused-variable]
335 | u32 tc_bw[IEEE_8021QAZ_MAX_TCS];
| ^~~~~
vim +/tc_bw +335 net/devlink/rate.c
329
330 static int devlink_nl_rate_set(struct devlink_rate *devlink_rate,
331 const struct devlink_ops *ops,
332 struct genl_info *info)
333 {
334 struct nlattr *nla_parent, **attrs = info->attrs;
> 335 u32 tc_bw[IEEE_8021QAZ_MAX_TCS];
336 int err = -EOPNOTSUPP;
337 u32 priority;
338 u32 weight;
339 u64 rate;
340
341 if (attrs[DEVLINK_ATTR_RATE_TX_SHARE]) {
342 rate = nla_get_u64(attrs[DEVLINK_ATTR_RATE_TX_SHARE]);
343 if (devlink_rate_is_leaf(devlink_rate))
344 err = ops->rate_leaf_tx_share_set(devlink_rate, devlink_rate->priv,
345 rate, info->extack);
346 else if (devlink_rate_is_node(devlink_rate))
347 err = ops->rate_node_tx_share_set(devlink_rate, devlink_rate->priv,
348 rate, info->extack);
349 if (err)
350 return err;
351 devlink_rate->tx_share = rate;
352 }
353
354 if (attrs[DEVLINK_ATTR_RATE_TX_MAX]) {
355 rate = nla_get_u64(attrs[DEVLINK_ATTR_RATE_TX_MAX]);
356 if (devlink_rate_is_leaf(devlink_rate))
357 err = ops->rate_leaf_tx_max_set(devlink_rate, devlink_rate->priv,
358 rate, info->extack);
359 else if (devlink_rate_is_node(devlink_rate))
360 err = ops->rate_node_tx_max_set(devlink_rate, devlink_rate->priv,
361 rate, info->extack);
362 if (err)
363 return err;
364 devlink_rate->tx_max = rate;
365 }
366
367 if (attrs[DEVLINK_ATTR_RATE_TX_PRIORITY]) {
368 priority = nla_get_u32(attrs[DEVLINK_ATTR_RATE_TX_PRIORITY]);
369 if (devlink_rate_is_leaf(devlink_rate))
370 err = ops->rate_leaf_tx_priority_set(devlink_rate, devlink_rate->priv,
371 priority, info->extack);
372 else if (devlink_rate_is_node(devlink_rate))
373 err = ops->rate_node_tx_priority_set(devlink_rate, devlink_rate->priv,
374 priority, info->extack);
375
376 if (err)
377 return err;
378 devlink_rate->tx_priority = priority;
379 }
380
381 if (attrs[DEVLINK_ATTR_RATE_TX_WEIGHT]) {
382 weight = nla_get_u32(attrs[DEVLINK_ATTR_RATE_TX_WEIGHT]);
383 if (devlink_rate_is_leaf(devlink_rate))
384 err = ops->rate_leaf_tx_weight_set(devlink_rate, devlink_rate->priv,
385 weight, info->extack);
386 else if (devlink_rate_is_node(devlink_rate))
387 err = ops->rate_node_tx_weight_set(devlink_rate, devlink_rate->priv,
388 weight, info->extack);
389
390 if (err)
391 return err;
392 devlink_rate->tx_weight = weight;
393 }
394
395 if (attrs[DEVLINK_ATTR_RATE_TC_BW]) {
396 struct nlattr *nla_tc_bw = attrs[DEVLINK_ATTR_RATE_TC_BW];
397 struct nlattr *tb[DEVLINK_ATTR_RATE_TC_7_BW + 1];
398 int i;
399
400 err = nla_parse_nested(tb, DEVLINK_ATTR_RATE_TC_7_BW, nla_tc_bw,
401 devlink_dl_rate_tc_bw_nl_policy, info->extack);
402 if (err)
403 return err;
404
405 for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) {
406 if (tb[DEVLINK_ATTR_RATE_TC_0_BW + i])
407 tc_bw[i] = nla_get_u32(tb[DEVLINK_ATTR_RATE_TC_0_BW + i]);
408 else
409 tc_bw[i] = 0;
410 }
411
412 if (devlink_rate_is_leaf(devlink_rate))
413 err = ops->rate_leaf_tc_bw_set(devlink_rate, devlink_rate->priv,
414 tc_bw, info->extack);
415 else if (devlink_rate_is_node(devlink_rate))
416 err = ops->rate_node_tc_bw_set(devlink_rate, devlink_rate->priv,
417 tc_bw, info->extack);
418
419 if (err)
420 return err;
421
422 memcpy(devlink_rate->tc_bw, tc_bw, sizeof(tc_bw));
423 }
424
425 nla_parent = attrs[DEVLINK_ATTR_RATE_PARENT_NODE_NAME];
426 if (nla_parent) {
427 err = devlink_nl_rate_parent_node_set(devlink_rate, info,
428 nla_parent);
429 if (err)
430 return err;
431 }
432
433 return 0;
434 }
435
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-11-14 0:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-13 18:00 [PATCH net-next 0/8] net/mlx5: ConnectX-8 SW Steering + Rate management on traffic classes Tariq Toukan
2024-11-13 18:00 ` [PATCH net-next 1/8] net/mlx5: DR, expand SWS STE callbacks and consolidate common structs Tariq Toukan
2024-11-13 18:00 ` [PATCH net-next 2/8] net/mlx5: DR, add support for ConnectX-8 steering Tariq Toukan
2024-11-13 18:00 ` [PATCH net-next 3/8] devlink: Extend devlink rate API with traffic classes bandwidth management Tariq Toukan
2024-11-13 23:22 ` kernel test robot
2024-11-14 0:05 ` kernel test robot
2024-11-14 0:46 ` kernel test robot [this message]
2024-11-14 9:48 ` Jiri Pirko
2024-11-13 18:00 ` [PATCH net-next 4/8] net/mlx5:Add no-op implementation for setting tc-bw on rate objects Tariq Toukan
2024-11-13 18:00 ` [PATCH net-next 5/8] net/mlx5: Add support for new scheduling elements Tariq Toukan
2024-11-13 18:00 ` [PATCH net-next 6/8] net/mlx5: Add support for setting tc-bw on nodes Tariq Toukan
2024-11-13 18:00 ` [PATCH net-next 7/8] net/mlx5: Add traffic class scheduling support for vport QoS Tariq Toukan
2024-11-13 18:00 ` [PATCH net-next 8/8] net/mlx5: Manage TC arbiter nodes and provide full support for tc-bw Tariq Toukan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202411140820.ybeyWmcE-lkp@intel.com \
--to=lkp@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=cjubran@nvidia.com \
--cc=cratiu@nvidia.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=leonro@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=tariqt@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.