* [dpdk-dev] [RFC] net/mlx: enable DMA memory registration from secondary process
@ 2019-03-01 1:39 Yongseok Koh
0 siblings, 0 replies; only message in thread
From: Yongseok Koh @ 2019-03-01 1:39 UTC (permalink / raw)
To: Shahaf Shuler; +Cc: dev
For both mlx4 and mlx5, the Memory Region (MR) for DMA memory can't be created
from secondary process due to lib/driver limitation. It is prohibited in the
code for now, thus all the memory being used by secondary process should be
registered on initialization.
mlx5_mr_create(...)
{
[...]
if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
DRV_LOG(WARNING,
"port %u using address (%p) of unregistered mempool"
" in secondary process, please create mempool"
" before rte_eth_dev_start()",
dev->data->port_id, (void *)addr);
rte_errno = EPERM;
goto err_nolock;
}
[...]
}
In 19.05, this restriction will be removed and secondary process will be able to
send a request of creating a MR to primary process via rte_mp_*() APIs. Once a
MR is created by primary process, it will be immediately visible to the
secondary through the shared private data, struct mlx[4|5]_priv.
No changes would be needed outside of mlx4/5 PMD.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-03-01 1:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-01 1:39 [dpdk-dev] [RFC] net/mlx: enable DMA memory registration from secondary process Yongseok Koh
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).