X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fmempool%2Fdpaa%2Fdpaa_mempool.c;h=00308177257381a3bb1abebbff8243b1bcf4f1a3;hb=e6b65f90ba4bc3b51b3585abc70c74847a4a6177;hp=b05fb7b9dcaa617c790ddf82eff4d0ec27ab4464;hpb=5a7dbb934d75395aa1a03dfd0ad2a66028a62c1b;p=dpdk.git diff --git a/drivers/mempool/dpaa/dpaa_mempool.c b/drivers/mempool/dpaa/dpaa_mempool.c index b05fb7b9dc..0030817725 100644 --- a/drivers/mempool/dpaa/dpaa_mempool.c +++ b/drivers/mempool/dpaa/dpaa_mempool.c @@ -35,7 +35,7 @@ struct dpaa_memseg_list rte_dpaa_memsegs = TAILQ_HEAD_INITIALIZER(rte_dpaa_memsegs); -struct dpaa_bp_info rte_dpaa_bpid_info[DPAA_MAX_BPOOLS]; +struct dpaa_bp_info *rte_dpaa_bpid_info; static int dpaa_mbuf_create_pool(struct rte_mempool *mp) @@ -74,6 +74,14 @@ dpaa_mbuf_create_pool(struct rte_mempool *mp) DPAA_MEMPOOL_WARN("drained %u bufs from BPID %d", num_bufs, bpid); + if (rte_dpaa_bpid_info == NULL) { + rte_dpaa_bpid_info = (struct dpaa_bp_info *)rte_zmalloc(NULL, + sizeof(struct dpaa_bp_info) * DPAA_MAX_BPOOLS, + RTE_CACHE_LINE_SIZE); + if (rte_dpaa_bpid_info == NULL) + return -ENOMEM; + } + rte_dpaa_bpid_info[bpid].mp = mp; rte_dpaa_bpid_info[bpid].bpid = bpid; rte_dpaa_bpid_info[bpid].size = mp->elt_size; @@ -328,7 +336,7 @@ dpaa_populate(struct rte_mempool *mp, unsigned int max_objs, obj_cb, obj_cb_arg); } -struct rte_mempool_ops dpaa_mpool_ops = { +static const struct rte_mempool_ops dpaa_mpool_ops = { .name = DPAA_MEMPOOL_OPS_NAME, .alloc = dpaa_mbuf_create_pool, .free = dpaa_mbuf_free_pool,