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
.config.gz
Description: application/gzip