[dpdk-dev] [PATCH] i40e: fix base driver allocation when on numa != 0

David Marchand david.marchand at 6wind.com
Thu Sep 3 15:23:30 CEST 2015


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 at 6wind.com>
---
 drivers/net/i40e/i40e_ethdev.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 40b0526..2dd9fdc 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -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;
-- 
1.9.1



More information about the dev mailing list