diff options
author | Damjan Marion <damarion@cisco.com> | 2019-01-21 11:48:34 +0100 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2019-01-30 16:19:22 +0000 |
commit | 910d3694e8b22c9d14e5f2913d14ae149e184620 (patch) | |
tree | e4993e93e4d7dba51a5898e82bb6149a3e4bd7ba /src/plugins/dpdk/ipsec | |
parent | 4fd5a9d3e6abdf61f266da8400a299fe5b0eb0ed (diff) |
buffers: major cleanup and improvements
This patch introduces following changes:
- deprecated free lists which are not used and not compatible
with external buffer managers (i.e. DPDK)
- introduces native support for per-numa buffer pools
- significantly improves performance of buffer alloc and free
Change-Id: I4a8e723ae47056717afd6cac0efe87cb731b5be7
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/plugins/dpdk/ipsec')
-rw-r--r-- | src/plugins/dpdk/ipsec/ipsec.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/plugins/dpdk/ipsec/ipsec.c b/src/plugins/dpdk/ipsec/ipsec.c index ade454f22cc..dd64f6db568 100644 --- a/src/plugins/dpdk/ipsec/ipsec.c +++ b/src/plugins/dpdk/ipsec/ipsec.c @@ -24,6 +24,7 @@ dpdk_crypto_main_t dpdk_crypto_main; #define EMPTY_STRUCT {0} +#define NUM_CRYPTO_MBUFS 16384 static void algos_init (u32 n_mains) @@ -835,11 +836,12 @@ crypto_create_crypto_op_pool (vlib_main_t * vm, u8 numa) pool_name = format (0, "crypto_pool_numa%u%c", numa, 0); - mp = - rte_mempool_create ((char *) pool_name, - conf->num_mbufs, - crypto_op_len (), 512, pool_priv_size, NULL, NULL, - crypto_op_init, NULL, numa, 0); + if (conf->num_crypto_mbufs == 0) + conf->num_crypto_mbufs = NUM_CRYPTO_MBUFS; + + mp = rte_mempool_create ((char *) pool_name, conf->num_crypto_mbufs, + crypto_op_len (), 512, pool_priv_size, NULL, NULL, + crypto_op_init, NULL, numa, 0); vec_free (pool_name); |