[Bug 1256] drivers/common/mlx5: mlx5_malloc() called on invalid socket ID when global MR cache is full and rte_extmem_* API is used
bugzilla at dpdk.org
bugzilla at dpdk.org
Thu Jul 6 11:06:49 CEST 2023
https://bugs.dpdk.org/show_bug.cgi?id=1256
Marius-Cristian Baciu (baciumariuscristian at yahoo.com) changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|FIXED |---
Status|RESOLVED |UNCONFIRMED
--- Comment #3 from Marius-Cristian Baciu (baciumariuscristian at yahoo.com) ---
Hi,
Unfortunately that patch only targets a memory socket issue with the ASO
mechanism. However, in my setup ASO is never an issue - I actually do not
believe it is enabled.
To give a little more insight, the problem I am describing manifests on the
data path:
- rte_eth_tx_burst();
- mlx5_tx_burst_*() is called;
- at some later point, in mr_lookup_caches(), mr_btree_lookup() returns
UINT32_MAX because all 256 entries in the cache have been occupied and last
memory registration did not catch an empty slot;
- when mr_lookup_caches() fails, mlx5_mr_create() -> mlx5_mr_create_primary()
is called;
- mlx5_malloc() at line 723 fails because it is called with an inappropriate
socket ID (the socket ID of the memseg list associated with an external buffer
(prior with rte_extmem_register()), EXTERNAL_HEAP_MIN_SOCKET_ID, which does not
actually have a valid heap associated, from which memory could be allocated.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20230706/eb328c28/attachment.htm>
More information about the dev
mailing list