All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.