Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/108328 _apply patch failure_ Submitter: Michael Baum Date: Thursday, February 24 2022 23:25:11 Applied on: CommitID:ee05a93e1e6633d0fdec409faf09f12a2e05b991 Apply patch set 108328-108332 failed: Checking patch doc/guides/platform/mlx5.rst... error: doc/guides/platform/mlx5.rst: does not exist in index Checking patch drivers/common/mlx5/linux/mlx5_common_os.c... Checking patch drivers/common/mlx5/linux/mlx5_common_os.h... Checking patch drivers/common/mlx5/mlx5_common.c... error: while searching for: /* Driver type key for new device global syntax. */ #define MLX5_DRIVER_KEY "driver" /* Enable extending memsegs when creating a MR. */ #define MLX5_MR_EXT_MEMSEG_EN "mr_ext_memseg_en" error: patch failed: drivers/common/mlx5/mlx5_common.c:24 error: while searching for: config->mr_mempool_reg_en = !!tmp; } else if (strcmp(key, MLX5_SYS_MEM_EN) == 0) { config->sys_mem_en = !!tmp; } return 0; } error: patch failed: drivers/common/mlx5/mlx5_common.c:283 error: while searching for: MLX5_MR_EXT_MEMSEG_EN, MLX5_SYS_MEM_EN, MLX5_MR_MEMPOOL_REG_EN, NULL, }; int ret = 0; error: patch failed: drivers/common/mlx5/mlx5_common.c:310 error: while searching for: config->mr_mempool_reg_en = 1; config->sys_mem_en = 0; config->dbnc = MLX5_ARG_UNSET; /* Process common parameters. */ ret = mlx5_kvargs_process(mkvlist, params, mlx5_common_args_check_handler, config); if (ret) { rte_errno = EINVAL; ret = -rte_errno; } DRV_LOG(DEBUG, "mr_ext_memseg_en is %u.", config->mr_ext_memseg_en); DRV_LOG(DEBUG, "mr_mempool_reg_en is %u.", config->mr_mempool_reg_en); DRV_LOG(DEBUG, "sys_mem_en is %u.", config->sys_mem_en); error: patch failed: drivers/common/mlx5/mlx5_common.c:321 Hunk #5 succeeded at 497 (offset -166 lines). Hunk #6 succeeded at 526 (offset -166 lines). error: while searching for: * Checks the match between the temporary structure and the existing * common device structure. */ if (cdev->config.mr_ext_memseg_en ^ config->mr_ext_memseg_en) { DRV_LOG(ERR, "\"mr_ext_memseg_en\" " "configuration mismatch for device %s.", cdev->dev->name); goto error; } if (cdev->config.mr_mempool_reg_en ^ config->mr_mempool_reg_en) { DRV_LOG(ERR, "\"mr_mempool_reg_en\" " "configuration mismatch for device %s.", cdev->dev->name); goto error; } if (cdev->config.sys_mem_en ^ config->sys_mem_en) { DRV_LOG(ERR, "\"sys_mem_en\" configuration mismatch for device %s.", cdev->dev->name); goto error; } if (cdev->config.dbnc ^ config->dbnc) { DRV_LOG(ERR, "\"dbnc\" configuration mismatch for device %s.", cdev->dev->name); goto error; } error: patch failed: drivers/common/mlx5/mlx5_common.c:814 Checking patch drivers/common/mlx5/mlx5_common.h... Hunk #1 succeeded at 414 (offset -32 lines). Hunk #2 succeeded at 435 (offset -32 lines). Hunk #3 succeeded at 526 (offset -47 lines). Checking patch drivers/common/mlx5/windows/mlx5_common_os.c... Checking patch drivers/common/mlx5/windows/mlx5_common_os.h... Applied patch drivers/common/mlx5/linux/mlx5_common_os.c cleanly. Applied patch drivers/common/mlx5/linux/mlx5_common_os.h cleanly. Applying patch drivers/common/mlx5/mlx5_common.c with 5 rejects... Rejected hunk #1. Rejected hunk #2. Rejected hunk #3. Rejected hunk #4. Hunk #5 applied cleanly. Hunk #6 applied cleanly. Rejected hunk #7. Applied patch drivers/common/mlx5/mlx5_common.h cleanly. Applied patch drivers/common/mlx5/windows/mlx5_common_os.c cleanly. Applied patch drivers/common/mlx5/windows/mlx5_common_os.h cleanly. diff a/drivers/common/mlx5/mlx5_common.c b/drivers/common/mlx5/mlx5_common.c (rejected hunks) @@ -24,6 +24,12 @@ uint8_t haswell_broadwell_cpu; /* Driver type key for new device global syntax. */ #define MLX5_DRIVER_KEY "driver" +/* Device parameter to get file descriptor for import device. */ +#define MLX5_DEVICE_FD "cmd_fd" + +/* Device parameter to get PD number for import Protection Domain. */ +#define MLX5_PD_HANDLE "pd_handle" + /* Enable extending memsegs when creating a MR. */ #define MLX5_MR_EXT_MEMSEG_EN "mr_ext_memseg_en" @@ -283,6 +289,10 @@ mlx5_common_args_check_handler(const char *key, const char *val, void *opaque) config->mr_mempool_reg_en = !!tmp; } else if (strcmp(key, MLX5_SYS_MEM_EN) == 0) { config->sys_mem_en = !!tmp; + } else if (strcmp(key, MLX5_DEVICE_FD) == 0) { + config->device_fd = tmp; + } else if (strcmp(key, MLX5_PD_HANDLE) == 0) { + config->pd_handle = tmp; } return 0; } @@ -310,6 +320,8 @@ mlx5_common_config_get(struct mlx5_kvargs_ctrl *mkvlist, MLX5_MR_EXT_MEMSEG_EN, MLX5_SYS_MEM_EN, MLX5_MR_MEMPOOL_REG_EN, + MLX5_DEVICE_FD, + MLX5_PD_HANDLE, NULL, }; int ret = 0; @@ -321,13 +333,19 @@ mlx5_common_config_get(struct mlx5_kvargs_ctrl *mkvlist, config->mr_mempool_reg_en = 1; config->sys_mem_en = 0; config->dbnc = MLX5_ARG_UNSET; + config->device_fd = MLX5_ARG_UNSET; + config->pd_handle = MLX5_ARG_UNSET; /* Process common parameters. */ ret = mlx5_kvargs_process(mkvlist, params, mlx5_common_args_check_handler, config); if (ret) { rte_errno = EINVAL; - ret = -rte_errno; + return -rte_errno; } + /* Validate user arguments for remote PD and CTX if it is given. */ + ret = mlx5_os_remote_pd_and_ctx_validate(config); + if (ret) + return ret; DRV_LOG(DEBUG, "mr_ext_memseg_en is %u.", config->mr_ext_memseg_en); DRV_LOG(DEBUG, "mr_mempool_reg_en is %u.", config->mr_mempool_reg_en); DRV_LOG(DEBUG, "sys_mem_en is %u.", config->sys_mem_en); @@ -814,26 +839,39 @@ mlx5_common_probe_again_args_validate(struct mlx5_common_device *cdev, * Checks the match between the temporary structure and the existing * common device structure. */ - if (cdev->config.mr_ext_memseg_en ^ config->mr_ext_memseg_en) { - DRV_LOG(ERR, "\"mr_ext_memseg_en\" " + if (cdev->config.mr_ext_memseg_en != config->mr_ext_memseg_en) { + DRV_LOG(ERR, "\"" MLX5_MR_EXT_MEMSEG_EN "\" " "configuration mismatch for device %s.", cdev->dev->name); goto error; } - if (cdev->config.mr_mempool_reg_en ^ config->mr_mempool_reg_en) { - DRV_LOG(ERR, "\"mr_mempool_reg_en\" " + if (cdev->config.mr_mempool_reg_en != config->mr_mempool_reg_en) { + DRV_LOG(ERR, "\"" MLX5_MR_MEMPOOL_REG_EN "\" " "configuration mismatch for device %s.", cdev->dev->name); goto error; } - if (cdev->config.sys_mem_en ^ config->sys_mem_en) { - DRV_LOG(ERR, - "\"sys_mem_en\" configuration mismatch for device %s.", + if (cdev->config.device_fd != config->device_fd) { + DRV_LOG(ERR, "\"" MLX5_DEVICE_FD "\" " + "configuration mismatch for device %s.", + cdev->dev->name); + goto error; + } + if (cdev->config.pd_handle != config->pd_handle) { + DRV_LOG(ERR, "\"" MLX5_PD_HANDLE "\" " + "configuration mismatch for device %s.", + cdev->dev->name); + goto error; + } + if (cdev->config.sys_mem_en != config->sys_mem_en) { + DRV_LOG(ERR, "\"" MLX5_SYS_MEM_EN "\" " + "configuration mismatch for device %s.", cdev->dev->name); goto error; } - if (cdev->config.dbnc ^ config->dbnc) { - DRV_LOG(ERR, "\"dbnc\" configuration mismatch for device %s.", + if (cdev->config.dbnc != config->dbnc) { + DRV_LOG(ERR, "\"" MLX5_SQ_DB_NC "\" " + "configuration mismatch for device %s.", cdev->dev->name); goto error; } Checking patch drivers/net/mlx5/mlx5_devx.c... Hunk #3 succeeded at 475 (offset -1 lines). Hunk #4 succeeded at 582 (offset -1 lines). Hunk #5 succeeded at 705 (offset -1 lines). Hunk #6 succeeded at 723 (offset -1 lines). Hunk #7 succeeded at 754 (offset -1 lines). Hunk #8 succeeded at 928 (offset -8 lines). Hunk #9 succeeded at 1227 (offset -11 lines). Hunk #10 succeeded at 1364 (offset -13 lines). Checking patch drivers/net/mlx5/mlx5_ethdev.c... Checking patch drivers/net/mlx5/mlx5_flow.c... Hunk #1 succeeded at 1676 (offset -112 lines). Hunk #2 succeeded at 1693 (offset -112 lines). Hunk #3 succeeded at 5766 (offset -119 lines). Checking patch drivers/net/mlx5/mlx5_flow_dv.c... Hunk #1 succeeded at 5759 (offset -12 lines). Hunk #2 succeeded at 7948 (offset -8 lines). Hunk #3 succeeded at 10937 (offset -9 lines). Hunk #4 succeeded at 10949 (offset -9 lines). Checking patch drivers/net/mlx5/mlx5_rx.h... error: while searching for: int mlx5_hrxq_obj_release(struct rte_eth_dev *dev, struct mlx5_hrxq *hrxq); int mlx5_hrxq_release(struct rte_eth_dev *dev, uint32_t hxrq_idx); uint32_t mlx5_hrxq_verify(struct rte_eth_dev *dev); enum mlx5_rxq_type mlx5_rxq_get_type(struct rte_eth_dev *dev, uint16_t idx); const struct rte_eth_hairpin_conf *mlx5_rxq_get_hairpin_conf (struct rte_eth_dev *dev, uint16_t idx); struct mlx5_hrxq *mlx5_drop_action_create(struct rte_eth_dev *dev); error: patch failed: drivers/net/mlx5/mlx5_rx.h:258 Hunk #4 succeeded at 622 (offset -4 lines). Checking patch drivers/net/mlx5/mlx5_rxq.c... Hunk #1 succeeded at 1394 (offset 3 lines). Hunk #2 succeeded at 1482 (offset 3 lines). Hunk #3 succeeded at 1807 (offset 11 lines). Hunk #4 succeeded at 1972 (offset 5 lines). Hunk #5 succeeded at 2123 (offset 5 lines). Hunk #6 succeeded at 2132 (offset 5 lines). Hunk #7 succeeded at 2172 (offset 5 lines). Hunk #8 succeeded at 2180 (offset 5 lines). Hunk #9 succeeded at 2205 (offset 5 lines). Checking patch drivers/net/mlx5/mlx5_trigger.c... Hunk #7 succeeded at 410 (offset -2 lines). Hunk #8 succeeded at 442 (offset -2 lines). Hunk #9 succeeded at 508 (offset -2 lines). Hunk #10 succeeded at 568 (offset -2 lines). Hunk #11 succeeded at 642 (offset -2 lines). Hunk #12 succeeded at 681 (offset -2 lines). Hunk #13 succeeded at 749 (offset -2 lines). Hunk #14 succeeded at 789 (offset -2 lines). Hunk #15 succeeded at 884 (offset -2 lines). Hunk #16 succeeded at 1014 (offset -2 lines). Hunk #17 succeeded at 1038 (offset -2 lines). Checking patch drivers/net/mlx5/mlx5_tx.h... Hunk #1 succeeded at 166 (offset -3 lines). Checking patch drivers/net/mlx5/mlx5_txq.c... Hunk #1 succeeded at 525 (offset -2 lines). Hunk #2 succeeded at 568 (offset -2 lines). Hunk #3 succeeded at 629 (offset -2 lines). Hunk #4 succeeded at 1108 (offset 1 line). Hunk #5 succeeded at 1151 (offset 1 line). Hunk #6 succeeded at 1210 (offset 1 line). Hunk #7 succeeded at 1219 (offset 1 line). Applied patch drivers/net/mlx5/mlx5_devx.c cleanly. Applied patch drivers/net/mlx5/mlx5_ethdev.c cleanly. Applied patch drivers/net/mlx5/mlx5_flow.c cleanly. Applied patch drivers/net/mlx5/mlx5_flow_dv.c cleanly. Applying patch drivers/net/mlx5/mlx5_rx.h with 1 reject... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Rejected hunk #3. Hunk #4 applied cleanly. Applied patch drivers/net/mlx5/mlx5_rxq.c cleanly. Applied patch drivers/net/mlx5/mlx5_trigger.c cleanly. Applied patch drivers/net/mlx5/mlx5_tx.h cleanly. Applied patch drivers/net/mlx5/mlx5_txq.c cleanly. diff a/drivers/net/mlx5/mlx5_rx.h b/drivers/net/mlx5/mlx5_rx.h (rejected hunks) @@ -258,7 +252,7 @@ struct mlx5_hrxq *mlx5_hrxq_get(struct rte_eth_dev *dev, int mlx5_hrxq_obj_release(struct rte_eth_dev *dev, struct mlx5_hrxq *hrxq); int mlx5_hrxq_release(struct rte_eth_dev *dev, uint32_t hxrq_idx); uint32_t mlx5_hrxq_verify(struct rte_eth_dev *dev); -enum mlx5_rxq_type mlx5_rxq_get_type(struct rte_eth_dev *dev, uint16_t idx); +bool mlx5_rxq_is_hairpin(struct rte_eth_dev *dev, uint16_t idx); const struct rte_eth_hairpin_conf *mlx5_rxq_get_hairpin_conf (struct rte_eth_dev *dev, uint16_t idx); struct mlx5_hrxq *mlx5_drop_action_create(struct rte_eth_dev *dev); Checking patch drivers/net/mlx5/linux/mlx5_os.c... Hunk #1 succeeded at 1127 (offset -31 lines). Hunk #2 succeeded at 1828 (offset 195 lines). Checking patch drivers/net/mlx5/mlx5.c... Hunk #1 succeeded at 1639 (offset -291 lines). Checking patch drivers/net/mlx5/mlx5.h... Hunk #1 succeeded at 1424 (offset -37 lines). Checking patch drivers/net/mlx5/mlx5_defs.h... Checking patch drivers/net/mlx5/mlx5_ethdev.c... error: drivers/net/mlx5/mlx5_ethdev.c: does not match index Checking patch drivers/net/mlx5/mlx5_rx.h... error: drivers/net/mlx5/mlx5_rx.h: does not match index Checking patch drivers/net/mlx5/mlx5_rxq.c... error: drivers/net/mlx5/mlx5_rxq.c: does not match index Checking patch drivers/net/mlx5/rte_pmd_mlx5.h... Checking patch drivers/net/mlx5/version.map... Applied patch drivers/net/mlx5/linux/mlx5_os.c cleanly. Applied patch drivers/net/mlx5/mlx5.c cleanly. Applied patch drivers/net/mlx5/mlx5.h cleanly. Applied patch drivers/net/mlx5/mlx5_defs.h cleanly. Applied patch drivers/net/mlx5/rte_pmd_mlx5.h cleanly. Applied patch drivers/net/mlx5/version.map cleanly. Checking patch doc/guides/nics/mlx5.rst... Hunk #1 succeeded at 62 (offset 24 lines). Checking patch doc/guides/rel_notes/release_22_03.rst... error: while searching for: * Support ConnectX-7 capability to schedule traffic sending on timestamp * Added WQE based hardware steering support with ``rte_flow_async`` API. * **Updated Wangxun ngbe driver.** error: patch failed: doc/guides/rel_notes/release_22_03.rst:164 Checking patch drivers/net/mlx5/mlx5.c... error: drivers/net/mlx5/mlx5.c: does not match index Checking patch drivers/net/mlx5/mlx5_devx.c... error: drivers/net/mlx5/mlx5_devx.c: does not match index Checking patch drivers/net/mlx5/mlx5_flow.c... error: drivers/net/mlx5/mlx5_flow.c: does not match index Checking patch drivers/net/mlx5/mlx5_rx.h... error: drivers/net/mlx5/mlx5_rx.h: does not match index Checking patch drivers/net/mlx5/mlx5_rxq.c... error: drivers/net/mlx5/mlx5_rxq.c: does not match index Applied patch doc/guides/nics/mlx5.rst cleanly. Applying patch doc/guides/rel_notes/release_22_03.rst with 1 reject... Rejected hunk #1. diff a/doc/guides/rel_notes/release_22_03.rst b/doc/guides/rel_notes/release_22_03.rst (rejected hunks) @@ -164,6 +164,7 @@ New Features * Support ConnectX-7 capability to schedule traffic sending on timestamp * Added WQE based hardware steering support with ``rte_flow_async`` API. + * Support steering for external Rx queue created outside the PMD. * **Updated Wangxun ngbe driver.** https://lab.dpdk.org/results/dashboard/patchsets/21270/ UNH-IOL DPDK Community Lab