From: Slawomir Mrozowicz <slawomirx.mrozow...@intel.com> Mempool pointer can be obtained from the object itself, which means that it is not required to actually store the pointer in the session.
Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozow...@intel.com> Signed-off-by: Pablo de Lara <pablo.de.lara.gua...@intel.com> --- doc/guides/rel_notes/release_17_08.rst | 1 + lib/librte_cryptodev/rte_cryptodev.c | 7 +++---- lib/librte_cryptodev/rte_cryptodev.h | 6 ------ 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/doc/guides/rel_notes/release_17_08.rst b/doc/guides/rel_notes/release_17_08.rst index 04bd3d5..6215584 100644 --- a/doc/guides/rel_notes/release_17_08.rst +++ b/doc/guides/rel_notes/release_17_08.rst @@ -162,6 +162,7 @@ API Changes the new parameter ``device id``. * ``dev_id`` field has been removed from ``rte_cryptodev_sym_session`` structure. * ``driver_id`` field has been removed from ``rte_cryptodev_sym_session`` structure. + * Mempool pointer ``mp`` has been removed from ``rte_cryptodev_sym_session`` structure. ABI Changes diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c index d2772fd..cc42c25 100644 --- a/lib/librte_cryptodev/rte_cryptodev.c +++ b/lib/librte_cryptodev/rte_cryptodev.c @@ -1026,8 +1026,6 @@ rte_cryptodev_sym_session_init(struct rte_mempool *mp, { memset(sess, 0, mp->elt_size); - sess->mp = mp; - if (dev->dev_ops->session_initialize) (*dev->dev_ops->session_initialize)(mp, sess); } @@ -1065,7 +1063,7 @@ rte_cryptodev_sym_session_create(uint8_t dev_id, dev_id); /* Return session to mempool */ - rte_mempool_put(sess->mp, _sess); + rte_mempool_put(dev->data->session_pool, _sess); return NULL; } @@ -1137,7 +1135,8 @@ rte_cryptodev_sym_session_free(uint8_t dev_id, dev->dev_ops->session_clear(dev, (void *)sess->_private); /* Return session to mempool */ - rte_mempool_put(sess->mp, (void *)sess); + struct rte_mempool *mp = rte_mempool_from_obj(sess); + rte_mempool_put(mp, (void *)sess); return NULL; } diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index 7d574f1..044a4aa 100644 --- a/lib/librte_cryptodev/rte_cryptodev.h +++ b/lib/librte_cryptodev/rte_cryptodev.h @@ -797,12 +797,6 @@ rte_cryptodev_enqueue_burst(uint8_t dev_id, uint16_t qp_id, /** Cryptodev symmetric crypto session */ struct rte_cryptodev_sym_session { RTE_STD_C11 - struct { - struct rte_mempool *mp; - /**< Mempool session allocated from */ - } __rte_aligned(8); - /**< Public symmetric session details */ - __extension__ char _private[0]; /**< Private session material */ }; -- 2.9.4