MCPcopy Create free account
hub / github.com/F-Stack/f-stack / secondary_msl_create_walk

Function secondary_msl_create_walk

dpdk/lib/eal/linux/eal_memalloc.c:1433–1464  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1431}
1432
1433static int
1434secondary_msl_create_walk(const struct rte_memseg_list *msl,
1435 void *arg __rte_unused)
1436{
1437 struct rte_mem_config *mcfg = rte_eal_get_configuration()->mem_config;
1438 struct rte_memseg_list *primary_msl, *local_msl;
1439 char name[PATH_MAX];
1440 int msl_idx, ret;
1441
1442 if (msl->external)
1443 return 0;
1444
1445 msl_idx = msl - mcfg->memsegs;
1446 primary_msl = &mcfg->memsegs[msl_idx];
1447 local_msl = &local_memsegs[msl_idx];
1448
1449 /* create distinct fbarrays for each secondary */
1450 snprintf(name, RTE_FBARRAY_NAME_LEN, "%s_%i",
1451 primary_msl->memseg_arr.name, getpid());
1452
1453 ret = rte_fbarray_init(&local_msl->memseg_arr, name,
1454 primary_msl->memseg_arr.len,
1455 primary_msl->memseg_arr.elt_sz);
1456 if (ret < 0) {
1457 RTE_LOG(ERR, EAL, "Cannot initialize local memory map\n");
1458 return -1;
1459 }
1460 local_msl->base_va = primary_msl->base_va;
1461 local_msl->len = primary_msl->len;
1462
1463 return 0;
1464}
1465
1466static int
1467secondary_msl_destroy_walk(const struct rte_memseg_list *msl,

Callers

nothing calls this directly

Calls 3

snprintfFunction · 0.85
rte_fbarray_initFunction · 0.85

Tested by

no test coverage detected