Hello, Some investigations about that.
dpaa2_dev_rx_queue_setup receives *mb_pool, which is rte_mempool: dpaa2_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, uint16_t nb_rx_desc, unsigned int socket_id __rte_unused, const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mb_pool) rte_mempool has union, between pointer to pool_data or uint_64 pool_id: struct rte_mempool { char name[RTE_MEMPOOL_NAMESIZE]; /**< Name of mempool. */ RTE_STD_C11 union { void *pool_data; /**< Ring or pool to store objects. */ uint64_t pool_id; /**< External mempool identifier. */ }; dpdk considers that pool_data is feed: build-root/build-vpp_debug-native/external/src-dpdk/drivers/mempool/dpaa2/dpaa2_hw_mempool.h #define mempool_to_bpinfo(mp) ((struct dpaa2_bp_info *)(mp)->pool_data) #define mempool_to_bpid(mp) ((mempool_to_bpinfo(mp))->bpid) On the other hand, VPP considers that union field to be bpid: mp->pool_id = nmp->pool_id = bp->index; So, when dpdk_dev_rx_queue_setup refers to pool_data, VPP crashes: And in dpaa2_dev_rx_queue_setup: if (!priv->bp_list || priv->bp_list->mp != mb_pool) { if (rte_eal_process_type() != RTE_PROC_PRIMARY) { ret = rte_dpaa2_bpid_info_init(mb_pool); if (ret) return ret; } bpid = mempool_to_bpid(mb_pool); The NXP patch, which fixes an issue, looks really dirty and obfuscated, and it damages memory management at all, although dpaa2 initialization is fixed, vpp crashes during work with any type of interfaces, incl. pcie igbs connected to board. https://source.codeaurora.org/external/qoriq/qoriq-components/vpp/commit/?h=21.08-LSDK&id=d36e7d1e4fd75695a96b3f339700b83fa8018619 So it looks like we need to fix it by ourselves. Unfortunately, I still not very familiar with both dpdk and vpp memory management and interaction between them :-( So, any advice where I need to dig to fix, for the beginning, that union fields mismatch?
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22528): https://lists.fd.io/g/vpp-dev/message/22528 Mute This Topic: https://lists.fd.io/mt/96374294/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-