* |WARNING| pw104490 [PATCH] common/mlx5: fix mempool registration
@ 2021-11-18 5:09 dpdklab
0 siblings, 0 replies; only message in thread
From: dpdklab @ 2021-11-18 5:09 UTC (permalink / raw)
To: test-report; +Cc: dpdk-test-reports
[-- Attachment #1: Type: text/plain, Size: 5075 bytes --]
Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/104490
_apply patch failure_
Submitter: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
Date: Wednesday, November 17 2021 18:49:36
Applied on: CommitID:0c6e27549c03695f85d949f5195a166b449b419c
Apply patch set 104490 failed:
Checking patch drivers/common/mlx5/mlx5_common.c...
Checking patch drivers/common/mlx5/mlx5_common_mp.c...
Checking patch drivers/common/mlx5/mlx5_common_mp.h...
Checking patch drivers/common/mlx5/mlx5_common_mr.c...
Hunk #2 succeeded at 1405 (offset 3 lines).
Hunk #3 succeeded at 1416 (offset 3 lines).
Hunk #4 succeeded at 1449 (offset 3 lines).
Hunk #5 succeeded at 1463 (offset 3 lines).
Hunk #6 succeeded at 1513 (offset 3 lines).
Hunk #7 succeeded at 1529 (offset 3 lines).
Hunk #8 succeeded at 1594 (offset 3 lines).
Hunk #9 succeeded at 1679 (offset 3 lines).
Hunk #10 succeeded at 1697 (offset 3 lines).
Hunk #11 succeeded at 1709 (offset 3 lines).
Hunk #12 succeeded at 1727 (offset 3 lines).
Hunk #13 succeeded at 1776 (offset 3 lines).
error: while searching for:
uint32_t
mlx5_mr_mb2mr_bh(struct mlx5_mr_ctrl *mr_ctrl, struct rte_mbuf *mb)
{
uint32_t lkey;
uintptr_t addr = (uintptr_t)mb->buf_addr;
struct mlx5_common_device *cdev = mr_ctrl->cdev;
if (cdev->config.mr_mempool_reg_en) {
struct rte_mempool *mp = NULL;
struct mlx5_mprq_buf *buf;
if (!RTE_MBUF_HAS_EXTBUF(mb)) {
mp = mlx5_mb2mp(mb);
} else if (mb->shinfo->free_cb == mlx5_mprq_buf_free_cb) {
/* Recover MPRQ mempool. */
buf = mb->shinfo->fcb_opaque;
mp = buf->mp;
}
if (mp != NULL) {
lkey = mlx5_mr_mempool2mr_bh(&cdev->mr_scache,
mr_ctrl, mp, addr);
/*
* Lookup can only fail on invalid input, e.g. "addr"
* is not from "mp" or "mp" has MEMPOOL_F_NON_IO set.
*/
if (lkey != UINT32_MAX)
return lkey;
}
/* Fallback for generic mechanism in corner cases. */
}
return mlx5_mr_addr2mr_bh(mr_ctrl, addr);
}
error: patch failed: drivers/common/mlx5/mlx5_common_mr.c:1910
Checking patch drivers/common/mlx5/mlx5_common_mr.h...
Hunk #1 succeeded at 255 (offset -2 lines).
Checking patch drivers/net/mlx5/linux/mlx5_mp_os.c...
Checking patch drivers/net/mlx5/mlx5_rxq.c...
Checking patch drivers/net/mlx5/mlx5_trigger.c...
Applied patch drivers/common/mlx5/mlx5_common.c cleanly.
Applied patch drivers/common/mlx5/mlx5_common_mp.c cleanly.
Applied patch drivers/common/mlx5/mlx5_common_mp.h cleanly.
Applying patch drivers/common/mlx5/mlx5_common_mr.c with 1 reject...
Hunk #1 applied cleanly.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Hunk #5 applied cleanly.
Hunk #6 applied cleanly.
Hunk #7 applied cleanly.
Hunk #8 applied cleanly.
Hunk #9 applied cleanly.
Hunk #10 applied cleanly.
Hunk #11 applied cleanly.
Hunk #12 applied cleanly.
Hunk #13 applied cleanly.
Rejected hunk #14.
Applied patch drivers/common/mlx5/mlx5_common_mr.h cleanly.
Applied patch drivers/net/mlx5/linux/mlx5_mp_os.c cleanly.
Applied patch drivers/net/mlx5/mlx5_rxq.c cleanly.
Applied patch drivers/net/mlx5/mlx5_trigger.c cleanly.
diff a/drivers/common/mlx5/mlx5_common_mr.c b/drivers/common/mlx5/mlx5_common_mr.c (rejected hunks)
@@ -1910,32 +1930,33 @@ mlx5_mr_mempool2mr_bh(struct mlx5_mr_share_cache *share_cache,
uint32_t
mlx5_mr_mb2mr_bh(struct mlx5_mr_ctrl *mr_ctrl, struct rte_mbuf *mb)
{
+ struct mlx5_mprq_buf *buf;
uint32_t lkey;
uintptr_t addr = (uintptr_t)mb->buf_addr;
struct mlx5_common_device *cdev = mr_ctrl->cdev;
+ struct rte_mempool *mp;
- if (cdev->config.mr_mempool_reg_en) {
- struct rte_mempool *mp = NULL;
- struct mlx5_mprq_buf *buf;
-
- if (!RTE_MBUF_HAS_EXTBUF(mb)) {
- mp = mlx5_mb2mp(mb);
- } else if (mb->shinfo->free_cb == mlx5_mprq_buf_free_cb) {
- /* Recover MPRQ mempool. */
- buf = mb->shinfo->fcb_opaque;
- mp = buf->mp;
- }
- if (mp != NULL) {
- lkey = mlx5_mr_mempool2mr_bh(&cdev->mr_scache,
- mr_ctrl, mp, addr);
- /*
- * Lookup can only fail on invalid input, e.g. "addr"
- * is not from "mp" or "mp" has MEMPOOL_F_NON_IO set.
- */
- if (lkey != UINT32_MAX)
- return lkey;
- }
- /* Fallback for generic mechanism in corner cases. */
+ /* Recover MPRQ mempool. */
+ if (RTE_MBUF_HAS_EXTBUF(mb) &&
+ mb->shinfo->free_cb == mlx5_mprq_buf_free_cb) {
+ buf = mb->shinfo->fcb_opaque;
+ mp = buf->mp;
+ } else {
+ mp = mlx5_mb2mp(mb);
+ }
+ lkey = mlx5_mr_mempool2mr_bh(&cdev->mr_scache,
+ mr_ctrl, mp, addr);
+ if (lkey != UINT32_MAX)
+ return lkey;
+ /* Register pinned external memory if the mempool is not used for Rx. */
+ if (cdev->config.mr_mempool_reg_en &&
+ (rte_pktmbuf_priv_flags(mp) & RTE_PKTMBUF_POOL_F_PINNED_EXT_BUF)) {
+ if (mlx5_mr_mempool_register(mr_ctrl->cdev, mp, true) < 0)
+ return UINT32_MAX;
+ lkey = mlx5_mr_mempool2mr_bh(&cdev->mr_scache,
+ mr_ctrl, mp, addr);
+ MLX5_ASSERT(lkey != UINT32_MAX);
}
+ /* Fallback to generic mechanism in corner cases. */
return mlx5_mr_addr2mr_bh(mr_ctrl, addr);
}
https://lab.dpdk.org/results/dashboard/patchsets/20272/
UNH-IOL DPDK Community Lab
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-11-18 5:09 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-18 5:09 |WARNING| pw104490 [PATCH] common/mlx5: fix mempool registration dpdklab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).