tree:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
master
head:   ddf6ddb057f22445837df4d01bd966995d4426f7
commit: d93ed94fbeaf3bf5ed16b57574dbb48ab7f7e41a [120/123] net: hns3: add aRFS 
support for PF
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 7.4.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout d93ed94fbeaf3bf5ed16b57574dbb48ab7f7e41a
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=xtensa 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

   drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c: In function 
'hclge_add_fd_entry_by_arfs':
>> drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:5755:1: warning: no 
>> return statement in function returning non-void [-Wreturn-type]
    }
    ^
   At top level:
   drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:5651:13: warning: 
'hclge_fd_build_arfs_rule' defined but not used [-Wunused-function]
    static void hclge_fd_build_arfs_rule(const struct hclge_fd_rule_tuples 
*tuples,
                ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:5637:1: warning: 
'hclge_fd_search_flow_keys' defined but not used [-Wunused-function]
    hclge_fd_search_flow_keys(struct hclge_dev *hdev,
    ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:5615:13: warning: 
'hclge_fd_get_flow_tuples' defined but not used [-Wunused-function]
    static void hclge_fd_get_flow_tuples(const struct flow_keys *fkeys,
                ^~~~~~~~~~~~~~~~~~~~~~~~

vim +5755 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

  5674  
  5675  static int hclge_add_fd_entry_by_arfs(struct hnae3_handle *handle, u16 
queue_id,
  5676                                        u16 flow_id, struct flow_keys 
*fkeys)
  5677  {
  5678  #ifdef CONFIG_RFS_ACCEL
  5679          struct hclge_vport *vport = hclge_get_vport(handle);
  5680          struct hclge_fd_rule_tuples new_tuples;
  5681          struct hclge_dev *hdev = vport->back;
  5682          struct hclge_fd_rule *rule;
  5683          u16 tmp_queue_id;
  5684          u16 bit_id;
  5685          int ret;
  5686  
  5687          if (!hnae3_dev_fd_supported(hdev))
  5688                  return -EOPNOTSUPP;
  5689  
  5690          memset(&new_tuples, 0, sizeof(new_tuples));
  5691          hclge_fd_get_flow_tuples(fkeys, &new_tuples);
  5692  
  5693          spin_lock_bh(&hdev->fd_rule_lock);
  5694  
  5695          /* when there is already fd rule existed add by user,
  5696           * arfs should not work
  5697           */
  5698          if (hdev->fd_active_type == HCLGE_FD_EP_ACTIVE) {
  5699                  spin_unlock_bh(&hdev->fd_rule_lock);
  5700  
  5701                  return -EOPNOTSUPP;
  5702          }
  5703  
  5704          /* check is there flow director filter existed for this flow,
  5705           * if not, create a new filter for it;
  5706           * if filter exist with different queue id, modify the filter;
  5707           * if filter exist with same queue id, do nothing
  5708           */
  5709          rule = hclge_fd_search_flow_keys(hdev, &new_tuples);
  5710          if (!rule) {
  5711                  bit_id = find_first_zero_bit(hdev->fd_bmap, 
MAX_FD_FILTER_NUM);
  5712                  if (bit_id >= hdev->fd_cfg.rule_num[HCLGE_FD_STAGE_1]) {
  5713                          spin_unlock_bh(&hdev->fd_rule_lock);
  5714  
  5715                          return -ENOSPC;
  5716                  }
  5717  
  5718                  rule = kzalloc(sizeof(*rule), GFP_KERNEL);
  5719                  if (!rule) {
  5720                          spin_unlock_bh(&hdev->fd_rule_lock);
  5721  
  5722                          return -ENOMEM;
  5723                  }
  5724  
  5725                  set_bit(bit_id, hdev->fd_bmap);
  5726                  rule->location = bit_id;
  5727                  rule->flow_id = flow_id;
  5728                  rule->queue_id = queue_id;
  5729                  hclge_fd_build_arfs_rule(&new_tuples, rule);
  5730                  ret = hclge_fd_config_rule(hdev, rule);
  5731  
  5732                  spin_unlock_bh(&hdev->fd_rule_lock);
  5733  
  5734                  if (ret)
  5735                          return ret;
  5736  
  5737                  return rule->location;
  5738          }
  5739  
  5740          spin_unlock_bh(&hdev->fd_rule_lock);
  5741  
  5742          if (rule->queue_id == queue_id)
  5743                  return rule->location;
  5744  
  5745          tmp_queue_id = rule->queue_id;
  5746          rule->queue_id = queue_id;
  5747          ret = hclge_config_action(hdev, HCLGE_FD_STAGE_1, rule);
  5748          if (ret) {
  5749                  rule->queue_id = tmp_queue_id;
  5750                  return ret;
  5751          }
  5752  
  5753          return rule->location;
  5754  #endif
> 5755  }
  5756  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to