cryptodev: remove mempool from session
authorSlawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Wed, 5 Jul 2017 05:26:16 +0000 (06:26 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 6 Jul 2017 20:34:55 +0000 (22:34 +0200)
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.mrozowicz@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
doc/guides/rel_notes/release_17_08.rst
lib/librte_cryptodev/rte_cryptodev.c
lib/librte_cryptodev/rte_cryptodev.h

index b79d17e..0842edd 100644 (file)
@@ -115,6 +115,7 @@ New Features
 
   * ``dev_id`` field has been removed.
   * ``driver_id`` field has been removed.
+  * Mempool pointer ``mp`` has been removed.
 
 * **Updated cryptodev library.**
 
index c2123cd..dfced85 100644 (file)
@@ -1087,8 +1087,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);
 }
@@ -1126,7 +1124,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;
        }
 
@@ -1198,7 +1196,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;
 }
index 0fb5608..508c672 100644 (file)
@@ -883,12 +883,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 */
 };