On 04-Apr-22 1:32 PM, Deepak Khandelwal wrote:
when secondary process is initialized(rte_eal_init),
external memroy segments should not be attached.
These segments will be attached by explicitly invoking
rte_malloc_heap_memory_attach API

Fixes: ff3619d6244b ("malloc: allow attaching to external memory chunks")
Cc: sta...@dpdk.org

Signed-off-by: Deepak Khandelwal <deepak.khandel...@intel.com>
Suggested-by: Anatoly Burakov <anatoly.bura...@intel.com>
---
  lib/eal/linux/eal_memory.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/eal/linux/eal_memory.c b/lib/eal/linux/eal_memory.c
index ee1a9e6..18d2176 100644
--- a/lib/eal/linux/eal_memory.c
+++ b/lib/eal/linux/eal_memory.c
@@ -1875,7 +1875,7 @@ void numa_error(char *where)
                msl = &mcfg->memsegs[msl_idx];
/* skip empty memseg lists */
-               if (msl->memseg_arr.len == 0)
+               if (msl->memseg_arr.len == 0 || msl->external)
                        continue;
if (rte_fbarray_attach(&msl->memseg_arr)) {

Actually, this needs to be implemented for BSD as well. Windows doesn't have support for secondary processes yet, so it's not applicable to Windows as far as i can tell.

--
Thanks,
Anatoly

Reply via email to