Hi Andrew,
On Saturday 10 March 2018 09:09 PM, Andrew Rybchenko wrote: [...] > RFCv1 -> RFCv2: > - add driver ops to calculate required memory size and populate > mempool objects, remove extra flags which were required before > to control it > - transition of octeontx and dpaa drivers to the new callbacks > - change info API to get information from driver required to > API user to know contiguous block size > - remove get_capabilities (not required any more and may be > substituted with more in info get API) > - remove register_memory_area since it is substituted with > populate callback which can do more > - use SPDX tags > - avoid all objects affinity to single lcore > - fix bucket get_count > - deprecate XMEM API > - avoid introduction of a new function to flush cache > - fix NO_CACHE_ALIGN case in bucket mempool I'm evaluating your series in octeontx platform. Noticed a build break for dpaa platform: CC dpaa_mempool.o /home/ubuntu/83xx/dpdk/drivers/mempool/dpaa/dpaa_mempool.c: In function ‘dpaa_populate’: /home/ubuntu/83xx/dpdk/drivers/mempool/dpaa/dpaa_mempool.c:291:41: error: passing argument 1 of ‘rte_mempool_op_populate_default’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] return rte_mempool_op_populate_default(mp, max_objs, vaddr, paddr, len, ^ In file included from /home/ubuntu/83xx/dpdk/drivers/mempool/dpaa/dpaa_mempool.h:15:0, from /home/ubuntu/83xx/dpdk/drivers/mempool/dpaa/dpaa_mempool.c:28: /home/ubuntu/83xx/dpdk/build/include/rte_mempool.h:490:5: note: expected ‘struct rte_mempool *’ but argument is of type ‘const struct rte_mempool *’ int rte_mempool_op_populate_default(struct rte_mempool *mp, ^ /home/ubuntu/83xx/dpdk/drivers/mempool/dpaa/dpaa_mempool.c: At top level: /home/ubuntu/83xx/dpdk/drivers/mempool/dpaa/dpaa_mempool.c:303:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .populate = dpaa_populate, ^ /home/ubuntu/83xx/dpdk/drivers/mempool/dpaa/dpaa_mempool.c:303:14: note: (near initialization for ‘dpaa_mpool_ops.populate’) cc1: all warnings being treated as errors may be consider adding for dpaa platform.. diff --git a/drivers/mempool/dpaa/dpaa_mempool.c b/drivers/mempool/dpaa/dpaa_mempool.c index a2bbb392a..ce5050627 100644 --- a/drivers/mempool/dpaa/dpaa_mempool.c +++ b/drivers/mempool/dpaa/dpaa_mempool.c @@ -263,8 +263,8 @@ dpaa_mbuf_get_count(const struct rte_mempool *mp) return bman_query_free_buffers(bp_info->bp); } -static int -dpaa_populate(const struct rte_mempool *mp, unsigned int max_objs, +static int __rte_unused +dpaa_populate(struct rte_mempool *mp, unsigned int max_objs, char *vaddr, rte_iova_t paddr, size_t len, rte_mempool_populate_obj_cb_t *obj_cb, void *obj_cb_arg) { Will share test and review feedback for octeontx platform soon. [...]