git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fbarray: check sysconf failure
[dpdk.git]
/
lib
/
librte_mempool
/
rte_mempool.c
diff --git
a/lib/librte_mempool/rte_mempool.c
b/lib/librte_mempool/rte_mempool.c
index
4660cc2
..
103c015
100644
(file)
--- a/
lib/librte_mempool/rte_mempool.c
+++ b/
lib/librte_mempool/rte_mempool.c
@@
-99,27
+99,28
@@
static unsigned optimize_object_size(unsigned obj_size)
return new_obj_size * RTE_MEMPOOL_ALIGN;
}
return new_obj_size * RTE_MEMPOOL_ALIGN;
}
+static int
+find_min_pagesz(const struct rte_memseg_list *msl, void *arg)
+{
+ size_t *min = arg;
+
+ if (msl->page_sz < *min)
+ *min = msl->page_sz;
+
+ return 0;
+}
+
static size_t
get_min_page_size(void)
{
static size_t
get_min_page_size(void)
{
- const struct rte_mem_config *mcfg =
- rte_eal_get_configuration()->mem_config;
- int i;
size_t min_pagesz = SIZE_MAX;
size_t min_pagesz = SIZE_MAX;
- for (i = 0; i < RTE_MAX_MEMSEG; i++) {
- const struct rte_memseg *ms = &mcfg->memseg[i];
-
- if (ms->addr == NULL)
- continue;
-
- if (ms->hugepage_sz < min_pagesz)
- min_pagesz = ms->hugepage_sz;
- }
+ rte_memseg_list_walk(find_min_pagesz, &min_pagesz);
return min_pagesz == SIZE_MAX ? (size_t) getpagesize() : min_pagesz;
}
return min_pagesz == SIZE_MAX ? (size_t) getpagesize() : min_pagesz;
}
+
static void
mempool_add_elem(struct rte_mempool *mp, void *obj, rte_iova_t iova)
{
static void
mempool_add_elem(struct rte_mempool *mp, void *obj, rte_iova_t iova)
{