Hi Santosh,
On 02/01/2018 04:40 PM, santosh wrote:
On Thursday 01 February 2018 03:31 PM, santosh wrote:
Hi Andrew,
On Thursday 01 February 2018 11:48 AM, Jacob, Jerin wrote:
The driver requires one and only one physically contiguous
memory chunk for all objects.
Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com>
---
drivers/mempool/octeontx/rte_mempool_octeontx.c | 25
+++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/drivers/mempool/octeontx/rte_mempool_octeontx.c
b/drivers/mempool/octeontx/rte_mempool_octeontx.c
index d143d05..4ec5efe 100644
--- a/drivers/mempool/octeontx/rte_mempool_octeontx.c
+++ b/drivers/mempool/octeontx/rte_mempool_octeontx.c
@@ -136,6 +136,30 @@ octeontx_fpavf_get_capabilities(const struct rte_mempool
*mp,
return 0;
}
+static ssize_t
+octeontx_fpavf_calc_mem_size(const struct rte_mempool *mp,
+ uint32_t obj_num, uint32_t pg_shift,
+ size_t *min_chunk_size, size_t *align)
+{
+ ssize_t mem_size;
+
+ /*
+ * Simply need space for one more object to be able to
+ * fullfil alignment requirements.
+ */
+ mem_size = rte_mempool_calc_mem_size_def(mp, obj_num + 1, pg_shift,
+
I think, you don't need that (obj_num + 1) as because
rte_xmem_calc_int() will be checking flags for
_ALIGNED + _CAPA_PHYS_CONFIG i.e..
mask = MEMPOOL_F_CAPA_BLK_ALIGNED_OBJECTS | MEMPOOL_F_CAPA_PHYS_CONTIG;
if ((flags & mask) == mask)
/* alignment need one additional object */
elt_num += 1;
ok, You are removing above check in v2- 06/17, so ignore above comment.
I suggest to move this patch and keep it after 06/17. Or perhaps keep
common mempool changes first then followed by driver specifics changes in your
v3 series.
Finally I've decided to include these changes into the patch which
removes get_capabilities [1]. Please, take a look at suggested version.
I think it is the most transparent solution. Otherwise it is hard
to avoid the issue found by you above.
I'm sorry, I've forgot to include you in CC.
[1] https://dpdk.org/dev/patchwork/patch/35934/
Thanks,
Andrew.