On Tue, 13 Jan 2015 09:22:00 +0000 Cian Ferriter <cian.ferriter at intel.com> wrote:
> 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) Why is this a memzone at all? Seems like it should be allocated on a per-device basis on the same NUMA node of the device. Probably with rte_malloc_socket().