Passing a socket id of "rte_socket_id()" can cause problems in non DPDK 
applications as there is a dependency on the current logical core we are 
running on.
Passing " rte_lcore_to_socket_id(rte_get_master_lcore())" as the socket id to 
rte_memzone_reserve resolves these issues as the master lcore doesn't change.

-----Original Message-----
From: Ferriter, Cian 
Sent: Tuesday, January 13, 2015 9:22 AM
To: dev at dpdk.org
Cc: Ferriter, Cian
Subject: [PATCH] lib/librte_ether: change socket_id passed to 
rte_memzone_reserve

Change the socket id that is passed to rte_memzone_reserve from the socket id 
of current logical core to the socket id of the master_lcore.
---
 lib/librte_ether/rte_ethdev.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)  mode change 100644 => 100755 
lib/librte_ether/rte_ethdev.c

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c old 
mode 100644 new mode 100755 index 95f2ceb..835540d
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -184,7 +184,7 @@ rte_eth_dev_data_alloc(void)
        if (rte_eal_process_type() == RTE_PROC_PRIMARY){
                mz = rte_memzone_reserve(MZ_RTE_ETH_DEV_DATA,
                                RTE_MAX_ETHPORTS * sizeof(*rte_eth_dev_data),
-                               rte_socket_id(), flags);
+                               rte_lcore_to_socket_id(rte_get_master_lcore()), 
flags);
        } else
                mz = rte_memzone_lookup(MZ_RTE_ETH_DEV_DATA);
        if (mz == NULL)
--
1.7.4.1

Reply via email to