lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202006291809.xcEk1w0S%lkp@intel.com>
Date:   Mon, 29 Jun 2020 18:35:27 +0800
From:   kernel test robot <lkp@...el.com>
To:     Luo bin <luobin9@...wei.com>, davem@...emloft.net
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        netdev@...r.kernel.org, luoxianjun@...wei.com,
        yin.yinshi@...wei.com, cloud.wangxiaoyun@...wei.com,
        chiqijun@...wei.com
Subject: Re: [PATCH net-next v4 2/5] hinic: add support to set and get irq
 coalesce

Hi Luo,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Luo-bin/hinic-add-some-ethtool-ops-support/20200628-203913
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 491f14db45dc7fc08ffe00ea6881615638dd159c
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

   drivers/net/ethernet/huawei/hinic/hinic_ethtool.c: In function '__hinic_set_coalesce':
>> drivers/net/ethernet/huawei/hinic/hinic_ethtool.c:742:31: warning: variable 'ori_tx_intr_coal' set but not used [-Wunused-but-set-variable]
     742 |  struct hinic_intr_coal_info *ori_tx_intr_coal = NULL;
         |                               ^~~~~~~~~~~~~~~~
>> drivers/net/ethernet/huawei/hinic/hinic_ethtool.c:741:31: warning: variable 'ori_rx_intr_coal' set but not used [-Wunused-but-set-variable]
     741 |  struct hinic_intr_coal_info *ori_rx_intr_coal = NULL;
         |                               ^~~~~~~~~~~~~~~~

vim +/ori_tx_intr_coal +742 drivers/net/ethernet/huawei/hinic/hinic_ethtool.c

   737	
   738	static int __hinic_set_coalesce(struct net_device *netdev,
   739					struct ethtool_coalesce *coal, u16 queue)
   740	{
 > 741		struct hinic_intr_coal_info *ori_rx_intr_coal = NULL;
 > 742		struct hinic_intr_coal_info *ori_tx_intr_coal = NULL;
   743		struct hinic_dev *nic_dev = netdev_priv(netdev);
   744		struct hinic_intr_coal_info rx_intr_coal = {0};
   745		struct hinic_intr_coal_info tx_intr_coal = {0};
   746		char obj_str[OBJ_STR_MAX_LEN] = {0};
   747		bool set_rx_coal = false;
   748		bool set_tx_coal = false;
   749		int err;
   750	
   751		err = is_coalesce_exceed_limit(coal);
   752		if (err)
   753			return err;
   754	
   755		if (coal->rx_coalesce_usecs || coal->rx_max_coalesced_frames) {
   756			rx_intr_coal.coalesce_timer_cfg =
   757			(u8)(coal->rx_coalesce_usecs / COALESCE_TIMER_CFG_UNIT);
   758			rx_intr_coal.pending_limt = (u8)(coal->rx_max_coalesced_frames /
   759					COALESCE_PENDING_LIMIT_UNIT);
   760			set_rx_coal = true;
   761		}
   762	
   763		if (coal->tx_coalesce_usecs || coal->tx_max_coalesced_frames) {
   764			tx_intr_coal.coalesce_timer_cfg =
   765			(u8)(coal->tx_coalesce_usecs / COALESCE_TIMER_CFG_UNIT);
   766			tx_intr_coal.pending_limt = (u8)(coal->tx_max_coalesced_frames /
   767			COALESCE_PENDING_LIMIT_UNIT);
   768			set_tx_coal = true;
   769		}
   770	
   771		if (queue == COALESCE_ALL_QUEUE) {
   772			ori_rx_intr_coal = &nic_dev->rx_intr_coalesce[0];
   773			ori_tx_intr_coal = &nic_dev->tx_intr_coalesce[0];
   774			err = snprintf(obj_str, OBJ_STR_MAX_LEN, "for netdev");
   775		} else {
   776			ori_rx_intr_coal = &nic_dev->rx_intr_coalesce[queue];
   777			ori_tx_intr_coal = &nic_dev->tx_intr_coalesce[queue];
   778			err = snprintf(obj_str, OBJ_STR_MAX_LEN, "for queue %d", queue);
   779		}
   780		if (err <= 0 || err >= OBJ_STR_MAX_LEN) {
   781			netif_err(nic_dev, drv, netdev, "Failed to snprintf string, function return(%d) and dest_len(%d)\n",
   782				  err, OBJ_STR_MAX_LEN);
   783			return -EFAULT;
   784		}
   785	
   786		/* setting coalesce timer or pending limit to zero will disable
   787		 * coalesce
   788		 */
   789		if (set_rx_coal && (!rx_intr_coal.coalesce_timer_cfg ||
   790				    !rx_intr_coal.pending_limt))
   791			netif_warn(nic_dev, drv, netdev, "RX coalesce will be disabled\n");
   792		if (set_tx_coal && (!tx_intr_coal.coalesce_timer_cfg ||
   793				    !tx_intr_coal.pending_limt))
   794			netif_warn(nic_dev, drv, netdev, "TX coalesce will be disabled\n");
   795	
   796		if (set_rx_coal) {
   797			err = __set_hw_coal_param(nic_dev, &rx_intr_coal, queue, true);
   798			if (err)
   799				return err;
   800		}
   801		if (set_tx_coal) {
   802			err = __set_hw_coal_param(nic_dev, &tx_intr_coal, queue, false);
   803			if (err)
   804				return err;
   805		}
   806		return 0;
   807	}
   808	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (74054 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ