[dpdk-dev] i40e: fix base driver allocation when on numa != 0
Commit Message
Seen by code review.
If dpdk is run with memory only available on socket 0, then i40e pmd
refuses to initialize ports as this pmd requires some memory on socket 0.
Fix this by setting socket to SOCKET_ID_ANY, so that allocations happen on
the caller socket.
Signed-off-by: David Marchand <david.marchand@6wind.com>
---
drivers/net/i40e/i40e_ethdev.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
Comments
> -----Original Message-----
> From: David Marchand [mailto:david.marchand@6wind.com]
> Sent: Thursday, September 3, 2015 9:24 PM
> To: dev@dpdk.org
> Cc: Zhang, Helin
> Subject: [PATCH] i40e: fix base driver allocation when on numa != 0
>
> Seen by code review.
>
> If dpdk is run with memory only available on socket 0, then i40e pmd refuses to
> initialize ports as this pmd requires some memory on socket 0.
> Fix this by setting socket to SOCKET_ID_ANY, so that allocations happen on the
> caller socket.
>
> Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
> > Seen by code review.
> >
> > If dpdk is run with memory only available on socket 0, then i40e pmd refuses to
> > initialize ports as this pmd requires some memory on socket 0.
> > Fix this by setting socket to SOCKET_ID_ANY, so that allocations happen on the
> > caller socket.
> >
> > Signed-off-by: David Marchand <david.marchand@6wind.com>
> Acked-by: Helin Zhang <helin.zhang@intel.com>
Applied, thanks
@@ -2099,10 +2099,11 @@ i40e_allocate_dma_mem_d(__attribute__((unused)) struct i40e_hw *hw,
id++;
snprintf(z_name, sizeof(z_name), "i40e_dma_%"PRIu64, id);
#ifdef RTE_LIBRTE_XEN_DOM0
- mz = rte_memzone_reserve_bounded(z_name, size, 0, 0, alignment,
- RTE_PGSIZE_2M);
+ mz = rte_memzone_reserve_bounded(z_name, size, SOCKET_ID_ANY, 0,
+ alignment, RTE_PGSIZE_2M);
#else
- mz = rte_memzone_reserve_aligned(z_name, size, 0, 0, alignment);
+ mz = rte_memzone_reserve_aligned(z_name, size, SOCKET_ID_ANY, 0,
+ alignment);
#endif
if (!mz)
return I40E_ERR_NO_MEMORY;