Message ID | 20211221024858.25938-12-chengyou@linux.alibaba.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Elastic RDMA Adapter (ERDMA) driver | expand |
Hi Cheng, I love your patch! Perhaps something to improve: [auto build test WARNING on rdma/for-next] [also build test WARNING on linus/master v5.16-rc6 next-20211221] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Cheng-Xu/Elastic-RDMA-Adapter-ERDMA-driver/20211221-105044 base: https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next config: ia64-allyesconfig (https://download.01.org/0day-ci/archive/20211222/202112220838.tXmQUWZb-lkp@intel.com/config) compiler: ia64-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/3b0243fb79f0f12a5b5c020c6f26c82de2c3c57e git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Cheng-Xu/Elastic-RDMA-Adapter-ERDMA-driver/20211221-105044 git checkout 3b0243fb79f0f12a5b5c020c6f26c82de2c3c57e # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=ia64 SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): drivers/infiniband/hw/erdma/erdma_cm.c: In function 'erdma_cep_set_inuse': >> drivers/infiniband/hw/erdma/erdma_cm.c:173:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable] 173 | int ret; | ^~~ drivers/infiniband/hw/erdma/erdma_cm.c: In function 'erdma_cm_llp_state_change': >> drivers/infiniband/hw/erdma/erdma_cm.c:1077:24: warning: variable 's' set but not used [-Wunused-but-set-variable] 1077 | struct socket *s; | ^ drivers/infiniband/hw/erdma/erdma_cm.c: In function 'erdma_create_listen': >> drivers/infiniband/hw/erdma/erdma_cm.c:1456:28: warning: variable 'r_ip' set but not used [-Wunused-but-set-variable] 1456 | u8 *l_ip, *r_ip; | ^~~~ >> drivers/infiniband/hw/erdma/erdma_cm.c:1456:21: warning: variable 'l_ip' set but not used [-Wunused-but-set-variable] 1456 | u8 *l_ip, *r_ip; | ^~~~ -- drivers/infiniband/hw/erdma/erdma_main.c: In function 'erdma_probe_dev': >> drivers/infiniband/hw/erdma/erdma_main.c:294:27: warning: variable 'ibdev' set but not used [-Wunused-but-set-variable] 294 | struct ib_device *ibdev; | ^~~~~ drivers/infiniband/hw/erdma/erdma_main.c: At top level: >> drivers/infiniband/hw/erdma/erdma_main.c:464:5: warning: no previous prototype for 'erdma_res_cb_init' [-Wmissing-prototypes] 464 | int erdma_res_cb_init(struct erdma_dev *dev) | ^~~~~~~~~~~~~~~~~ >> drivers/infiniband/hw/erdma/erdma_main.c:481:6: warning: no previous prototype for 'erdma_res_cb_free' [-Wmissing-prototypes] 481 | void erdma_res_cb_free(struct erdma_dev *dev) | ^~~~~~~~~~~~~~~~~ -- >> drivers/infiniband/hw/erdma/erdma_eq.c:169:6: warning: no previous prototype for 'erdma_intr_ceq_task' [-Wmissing-prototypes] 169 | void erdma_intr_ceq_task(unsigned long data) | ^~~~~~~~~~~~~~~~~~~ vim +/ret +173 drivers/infiniband/hw/erdma/erdma_cm.c 1d17ac4bdb13af Cheng Xu 2021-12-21 169 1d17ac4bdb13af Cheng Xu 2021-12-21 170 static void erdma_cep_set_inuse(struct erdma_cep *cep) 1d17ac4bdb13af Cheng Xu 2021-12-21 171 { 1d17ac4bdb13af Cheng Xu 2021-12-21 172 unsigned long flags; 1d17ac4bdb13af Cheng Xu 2021-12-21 @173 int ret; 1d17ac4bdb13af Cheng Xu 2021-12-21 174 retry: 1d17ac4bdb13af Cheng Xu 2021-12-21 175 spin_lock_irqsave(&cep->lock, flags); 1d17ac4bdb13af Cheng Xu 2021-12-21 176 1d17ac4bdb13af Cheng Xu 2021-12-21 177 if (cep->in_use) { 1d17ac4bdb13af Cheng Xu 2021-12-21 178 spin_unlock_irqrestore(&cep->lock, flags); 1d17ac4bdb13af Cheng Xu 2021-12-21 179 ret = wait_event_interruptible(cep->waitq, !cep->in_use); 1d17ac4bdb13af Cheng Xu 2021-12-21 180 if (signal_pending(current)) 1d17ac4bdb13af Cheng Xu 2021-12-21 181 flush_signals(current); 1d17ac4bdb13af Cheng Xu 2021-12-21 182 goto retry; 1d17ac4bdb13af Cheng Xu 2021-12-21 183 } else { 1d17ac4bdb13af Cheng Xu 2021-12-21 184 cep->in_use = 1; 1d17ac4bdb13af Cheng Xu 2021-12-21 185 spin_unlock_irqrestore(&cep->lock, flags); 1d17ac4bdb13af Cheng Xu 2021-12-21 186 } 1d17ac4bdb13af Cheng Xu 2021-12-21 187 } 1d17ac4bdb13af Cheng Xu 2021-12-21 188 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
diff --git a/MAINTAINERS b/MAINTAINERS index e9d484507c06..ac2b54c6439b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -722,6 +722,14 @@ S: Maintained F: Documentation/i2c/busses/i2c-ali1563.rst F: drivers/i2c/busses/i2c-ali1563.c +ALIBABA ELASTIC RDMA DRIVER +M: Cheng Xu <chengyou@linux.alibaba.com> +M: Kai Shen <kaishen@linux.alibaba.com> +L: linux-rdma@vger.kernel.org +S: Supported +F: drivers/infiniband/hw/erdma +F: include/uapi/rdma/erdma-abi.h + ALIENWARE WMI DRIVER L: Dell.Client.Kernel@dell.com S: Maintained diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig index 33d3ce9c888e..cc6a7ff88ff3 100644 --- a/drivers/infiniband/Kconfig +++ b/drivers/infiniband/Kconfig @@ -92,6 +92,7 @@ source "drivers/infiniband/hw/hns/Kconfig" source "drivers/infiniband/hw/bnxt_re/Kconfig" source "drivers/infiniband/hw/hfi1/Kconfig" source "drivers/infiniband/hw/qedr/Kconfig" +source "drivers/infiniband/hw/erdma/Kconfig" source "drivers/infiniband/sw/rdmavt/Kconfig" source "drivers/infiniband/sw/rxe/Kconfig" source "drivers/infiniband/sw/siw/Kconfig" diff --git a/drivers/infiniband/hw/Makefile b/drivers/infiniband/hw/Makefile index fba0b3be903e..6b3a88046125 100644 --- a/drivers/infiniband/hw/Makefile +++ b/drivers/infiniband/hw/Makefile @@ -13,3 +13,4 @@ obj-$(CONFIG_INFINIBAND_HFI1) += hfi1/ obj-$(CONFIG_INFINIBAND_HNS) += hns/ obj-$(CONFIG_INFINIBAND_QEDR) += qedr/ obj-$(CONFIG_INFINIBAND_BNXT_RE) += bnxt_re/ +obj-$(CONFIG_INFINIBAND_ERDMA) += erdma/ diff --git a/drivers/infiniband/hw/erdma/Kconfig b/drivers/infiniband/hw/erdma/Kconfig new file mode 100644 index 000000000000..8526689fede7 --- /dev/null +++ b/drivers/infiniband/hw/erdma/Kconfig @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: GPL-2.0-only +config INFINIBAND_ERDMA + tristate "Alibaba Elastic RDMA Adapter (ERDMA) support" + depends on PCI_MSI && 64BIT && !CPU_BIG_ENDIAN + depends on INFINIBAND_ADDR_TRANS + depends on INFINIBAND_USER_ACCESS + help + This is a RDMA/iWarp driver for Alibaba Elastic RDMA Adapter(ERDMA). + + To compile this driver as module, choose M here. diff --git a/drivers/infiniband/hw/erdma/Makefile b/drivers/infiniband/hw/erdma/Makefile new file mode 100644 index 000000000000..149d22a80aa6 --- /dev/null +++ b/drivers/infiniband/hw/erdma/Makefile @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0 +obj-$(CONFIG_INFINIBAND_ERDMA) := erdma.o + +erdma-y := erdma_cm.o erdma_main.o erdma_cmdq.o erdma_debug.o erdma_verbs.o erdma_qp.o erdma_eq.o\ + erdma_cq.o
Signed-off-by: Cheng Xu <chengyou@linux.alibaba.com> --- MAINTAINERS | 8 ++++++++ drivers/infiniband/Kconfig | 1 + drivers/infiniband/hw/Makefile | 1 + drivers/infiniband/hw/erdma/Kconfig | 10 ++++++++++ drivers/infiniband/hw/erdma/Makefile | 5 +++++ 5 files changed, 25 insertions(+) create mode 100644 drivers/infiniband/hw/erdma/Kconfig create mode 100644 drivers/infiniband/hw/erdma/Makefile