From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH V5 net-next 4/6] ethtool: extend ringparam setting/getting API with rx_buf_len
Date: Mon, 01 Nov 2021 19:35:14 +0800 [thread overview]
Message-ID: <202111011930.NAnvG5fw-lkp@intel.com> (raw)
In-Reply-To: <20211030131001.38739-5-huangguangbin2@huawei.com>
[-- Attachment #1: Type: text/plain, Size: 14237 bytes --]
Hi Guangbin,
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/Guangbin-Huang/ethtool-add-support-to-set-get-tx-copybreak-buf-size-and-rx-buf-len/20211030-211647
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git ae0393500e3b0139210749d52d22b29002c20e16
config: s390-allyesconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 11.2.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/dd1e8f2d7c214ac871a571bc96243ec08fd69718
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Guangbin-Huang/ethtool-add-support-to-set-get-tx-copybreak-buf-size-and-rx-buf-len/20211030-211647
git checkout dd1e8f2d7c214ac871a571bc96243ec08fd69718
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/s390/net/qeth_ethtool.c: In function 'qeth_get_ringparam':
drivers/s390/net/qeth_ethtool.c:149:63: error: expected declaration specifiers before ')' token
149 | struct netlink_ext_ack *extack))
| ^
drivers/s390/net/qeth_ethtool.c:165:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
165 | {
| ^
drivers/s390/net/qeth_ethtool.c:188:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
188 | {
| ^
drivers/s390/net/qeth_ethtool.c:201:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
201 | {
| ^
drivers/s390/net/qeth_ethtool.c:216:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
216 | {
| ^
drivers/s390/net/qeth_ethtool.c:251:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
251 | {
| ^
drivers/s390/net/qeth_ethtool.c:262:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
262 | {
| ^
drivers/s390/net/qeth_ethtool.c:277:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
277 | {
| ^
drivers/s390/net/qeth_ethtool.c:291:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
291 | {
| ^
drivers/s390/net/qeth_ethtool.c:310:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
310 | {
| ^
drivers/s390/net/qeth_ethtool.c:332:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
332 | {
| ^
drivers/s390/net/qeth_ethtool.c:429:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
429 | {
| ^
drivers/s390/net/qeth_ethtool.c:457:14: error: parameter 'qeth_ethtool_ops' is initialized
457 | const struct ethtool_ops qeth_ethtool_ops = {
| ^~~~~~~~~~~
drivers/s390/net/qeth_ethtool.c:463:24: error: 'qeth_get_strings' undeclared (first use in this function); did you mean 'qeth_get_stats64'?
463 | .get_strings = qeth_get_strings,
| ^~~~~~~~~~~~~~~~
| qeth_get_stats64
drivers/s390/net/qeth_ethtool.c:463:24: note: each undeclared identifier is reported only once for each function it appears in
drivers/s390/net/qeth_ethtool.c:466:24: error: 'qeth_get_drvinfo' undeclared (first use in this function); did you mean 'ethtool_drvinfo'?
466 | .get_drvinfo = qeth_get_drvinfo,
| ^~~~~~~~~~~~~~~~
| ethtool_drvinfo
drivers/s390/net/qeth_ethtool.c:467:25: error: 'qeth_get_channels' undeclared (first use in this function); did you mean 'qeth_channel'?
467 | .get_channels = qeth_get_channels,
| ^~~~~~~~~~~~~~~~~
| qeth_channel
drivers/s390/net/qeth_ethtool.c:468:25: error: 'qeth_set_channels' undeclared (first use in this function); did you mean 'qeth_channel'?
468 | .set_channels = qeth_set_channels,
| ^~~~~~~~~~~~~~~~~
| qeth_channel
drivers/s390/net/qeth_ethtool.c:469:24: error: 'qeth_get_ts_info' undeclared (first use in this function); did you mean 'ethtool_ts_info'?
469 | .get_ts_info = qeth_get_ts_info,
| ^~~~~~~~~~~~~~~~
| ethtool_ts_info
drivers/s390/net/qeth_ethtool.c:470:24: error: 'qeth_get_tunable' undeclared (first use in this function); did you mean 'frh_get_table'?
470 | .get_tunable = qeth_get_tunable,
| ^~~~~~~~~~~~~~~~
| frh_get_table
drivers/s390/net/qeth_ethtool.c:471:24: error: 'qeth_set_tunable' undeclared (first use in this function); did you mean 'ethtool_tunable'?
471 | .set_tunable = qeth_set_tunable,
| ^~~~~~~~~~~~~~~~
| ethtool_tunable
drivers/s390/net/qeth_ethtool.c:472:35: error: 'qeth_get_per_queue_coalesce' undeclared (first use in this function)
472 | .get_per_queue_coalesce = qeth_get_per_queue_coalesce,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/s390/net/qeth_ethtool.c:473:35: error: 'qeth_set_per_queue_coalesce' undeclared (first use in this function)
473 | .set_per_queue_coalesce = qeth_set_per_queue_coalesce,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/s390/net/qeth_ethtool.c:474:31: error: 'qeth_get_link_ksettings' undeclared (first use in this function); did you mean 'ethtool_link_ksettings'?
474 | .get_link_ksettings = qeth_get_link_ksettings,
| ^~~~~~~~~~~~~~~~~~~~~~~
| ethtool_link_ksettings
drivers/s390/net/qeth_ethtool.c:146:13: error: old-style parameter declarations in prototyped function definition
146 | static void qeth_get_ringparam(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~
drivers/s390/net/qeth_ethtool.c:476: error: expected '{' at end of input
At top level:
>> drivers/s390/net/qeth_ethtool.c:146:13: error: 'qeth_get_ringparam' defined but not used [-Werror=unused-function]
146 | static void qeth_get_ringparam(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~~
>> drivers/s390/net/qeth_ethtool.c:77:13: error: 'qeth_add_stat_strings' defined but not used [-Werror=unused-function]
77 | static void qeth_add_stat_strings(u8 **data, const char *prefix,
| ^~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/qeth_get_ringparam +146 drivers/s390/net/qeth_ethtool.c
b0abc4f5df76ce Julian Wiedmann 2019-02-15 76
b0abc4f5df76ce Julian Wiedmann 2019-02-15 @77 static void qeth_add_stat_strings(u8 **data, const char *prefix,
b0abc4f5df76ce Julian Wiedmann 2019-02-15 78 const struct qeth_stats stats[],
b0abc4f5df76ce Julian Wiedmann 2019-02-15 79 unsigned int size)
b0abc4f5df76ce Julian Wiedmann 2019-02-15 80 {
b0abc4f5df76ce Julian Wiedmann 2019-02-15 81 unsigned int i;
b0abc4f5df76ce Julian Wiedmann 2019-02-15 82
c0a0186630fb0e Julian Wiedmann 2021-06-11 83 for (i = 0; i < size; i++)
c0a0186630fb0e Julian Wiedmann 2021-06-11 84 ethtool_sprintf(data, "%s%s", prefix, stats[i].name);
b0abc4f5df76ce Julian Wiedmann 2019-02-15 85 }
b0abc4f5df76ce Julian Wiedmann 2019-02-15 86
d896ac62d01604 Julian Wiedmann 2019-02-15 87 static int qeth_get_sset_count(struct net_device *dev, int stringset)
d896ac62d01604 Julian Wiedmann 2019-02-15 88 {
b0abc4f5df76ce Julian Wiedmann 2019-02-15 89 struct qeth_card *card = dev->ml_priv;
b0abc4f5df76ce Julian Wiedmann 2019-02-15 90
d896ac62d01604 Julian Wiedmann 2019-02-15 91 switch (stringset) {
d896ac62d01604 Julian Wiedmann 2019-02-15 92 case ETH_SS_STATS:
b0abc4f5df76ce Julian Wiedmann 2019-02-15 93 return CARD_STATS_LEN +
b0abc4f5df76ce Julian Wiedmann 2019-02-15 94 card->qdio.no_out_queues * TXQ_STATS_LEN;
d896ac62d01604 Julian Wiedmann 2019-02-15 95 default:
d896ac62d01604 Julian Wiedmann 2019-02-15 96 return -EINVAL;
d896ac62d01604 Julian Wiedmann 2019-02-15 97 }
d896ac62d01604 Julian Wiedmann 2019-02-15 98 }
d896ac62d01604 Julian Wiedmann 2019-02-15 99
d896ac62d01604 Julian Wiedmann 2019-02-15 100 static void qeth_get_ethtool_stats(struct net_device *dev,
d896ac62d01604 Julian Wiedmann 2019-02-15 101 struct ethtool_stats *stats, u64 *data)
d896ac62d01604 Julian Wiedmann 2019-02-15 102 {
d896ac62d01604 Julian Wiedmann 2019-02-15 103 struct qeth_card *card = dev->ml_priv;
b0abc4f5df76ce Julian Wiedmann 2019-02-15 104 unsigned int i;
d896ac62d01604 Julian Wiedmann 2019-02-15 105
b0abc4f5df76ce Julian Wiedmann 2019-02-15 106 qeth_add_stat_data(&data, &card->stats, card_stats, CARD_STATS_LEN);
b0abc4f5df76ce Julian Wiedmann 2019-02-15 107 for (i = 0; i < card->qdio.no_out_queues; i++)
b0abc4f5df76ce Julian Wiedmann 2019-02-15 108 qeth_add_stat_data(&data, &card->qdio.out_qs[i]->stats,
b0abc4f5df76ce Julian Wiedmann 2019-02-15 109 txq_stats, TXQ_STATS_LEN);
d896ac62d01604 Julian Wiedmann 2019-02-15 110 }
d896ac62d01604 Julian Wiedmann 2019-02-15 111
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 112 static void __qeth_set_coalesce(struct net_device *dev,
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 113 struct qeth_qdio_out_q *queue,
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 114 struct ethtool_coalesce *coal)
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 115 {
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 116 WRITE_ONCE(queue->coalesce_usecs, coal->tx_coalesce_usecs);
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 117 WRITE_ONCE(queue->max_coalesced_frames, coal->tx_max_coalesced_frames);
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 118
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 119 if (coal->tx_coalesce_usecs &&
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 120 netif_running(dev) &&
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 121 !qeth_out_queue_is_empty(queue))
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 122 qeth_tx_arm_timer(queue, coal->tx_coalesce_usecs);
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 123 }
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 124
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 125 static int qeth_set_coalesce(struct net_device *dev,
f3ccfda1931977 Yufeng Mo 2021-08-20 126 struct ethtool_coalesce *coal,
f3ccfda1931977 Yufeng Mo 2021-08-20 127 struct kernel_ethtool_coalesce *kernel_coal,
f3ccfda1931977 Yufeng Mo 2021-08-20 128 struct netlink_ext_ack *extack)
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 129 {
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 130 struct qeth_card *card = dev->ml_priv;
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 131 struct qeth_qdio_out_q *queue;
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 132 unsigned int i;
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 133
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 134 if (!IS_IQD(card))
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 135 return -EOPNOTSUPP;
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 136
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 137 if (!coal->tx_coalesce_usecs && !coal->tx_max_coalesced_frames)
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 138 return -EINVAL;
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 139
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 140 qeth_for_each_output_queue(card, queue, i)
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 141 __qeth_set_coalesce(dev, queue, coal);
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 142
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 143 return 0;
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 144 }
ee1e52d1e4bb91 Julian Wiedmann 2020-03-25 145
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 @146 static void qeth_get_ringparam(struct net_device *dev,
dd1e8f2d7c214a Hao Chen 2021-10-30 147 struct ethtool_ringparam *param,
dd1e8f2d7c214a Hao Chen 2021-10-30 148 struct kernel_ethtool_ringparam *kernel_param,
dd1e8f2d7c214a Hao Chen 2021-10-30 149 struct netlink_ext_ack *extack))
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 150 {
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 151 struct qeth_card *card = dev->ml_priv;
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 152
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 153 param->rx_max_pending = QDIO_MAX_BUFFERS_PER_Q;
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 154 param->rx_mini_max_pending = 0;
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 155 param->rx_jumbo_max_pending = 0;
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 156 param->tx_max_pending = QDIO_MAX_BUFFERS_PER_Q;
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 157
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 158 param->rx_pending = card->qdio.in_buf_pool.buf_count;
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 159 param->rx_mini_pending = 0;
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 160 param->rx_jumbo_pending = 0;
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 161 param->tx_pending = QDIO_MAX_BUFFERS_PER_Q;
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 162 }
1b4d5e1c617e7c Julian Wiedmann 2019-02-15 163
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 67927 bytes --]
next prev parent reply other threads:[~2021-11-01 11:35 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-30 13:09 [PATCH V5 net-next 0/6] ethtool: add support to set/get tx copybreak buf size and rx buf len Guangbin Huang
2021-10-30 13:09 ` [PATCH V5 net-next 1/6] ethtool: add support to set/get tx copybreak buf size via ethtool Guangbin Huang
2021-10-30 13:09 ` [PATCH V5 net-next 2/6] net: hns3: add support to set/get tx copybreak buf size via ethtool for hns3 driver Guangbin Huang
2021-10-30 13:09 ` [PATCH V5 net-next 3/6] ethtool: add support to set/get rx buf len via ethtool Guangbin Huang
2021-10-30 13:09 ` [PATCH V5 net-next 4/6] ethtool: extend ringparam setting/getting API with rx_buf_len Guangbin Huang
2021-10-30 22:10 ` kernel test robot
2021-11-01 11:35 ` kernel test robot [this message]
2021-10-30 13:10 ` [PATCH V5 net-next 5/6] net: hns3: add support to set/get rx buf len via ethtool for hns3 driver Guangbin Huang
2021-10-30 18:04 ` Andrew Lunn
2021-10-30 13:10 ` [PATCH V5 net-next 6/6] net: hns3: remove the way to set tx spare buf via module parameter Guangbin Huang
2021-10-30 18:05 ` Andrew Lunn
2021-11-01 3:43 ` huangguangbin (A)
2021-10-30 17:58 ` [PATCH V5 net-next 0/6] ethtool: add support to set/get tx copybreak buf size and rx buf len Andrew Lunn
2021-11-01 3:42 ` huangguangbin (A)
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=202111011930.NAnvG5fw-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/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.