From c879c149d66d556b9b8183374c601004cecbf982 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Fri, 28 Dec 2018 17:43:22 +0100 Subject: avf: tx dequeue optimizations Change-Id: I9d8fcf930132e832941e5678a9278a029e104dc3 Signed-off-by: Damjan Marion --- src/plugins/avf/device.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/plugins/avf/device.c') diff --git a/src/plugins/avf/device.c b/src/plugins/avf/device.c index 9a8afa2ab42..f6a00a1d30a 100644 --- a/src/plugins/avf/device.c +++ b/src/plugins/avf/device.c @@ -16,6 +16,7 @@ */ #include +#include #include #include #include @@ -289,6 +290,9 @@ avf_txq_init (vlib_main_t * vm, avf_device_t * ad, u16 qid, u16 txq_size) vec_validate_aligned (txq->bufs, txq->size, CLIB_CACHE_LINE_BYTES); txq->qtx_tail = ad->bar0 + AVF_QTX_TAIL (qid); + /* initialize ring of pending RS slots */ + clib_ring_new_aligned (txq->rs_slots, 32, CLIB_CACHE_LINE_BYTES); + ad->n_tx_queues = clib_min (ad->num_queue_pairs, qid + 1); return 0; } @@ -1166,6 +1170,7 @@ avf_delete_if (vlib_main_t * vm, avf_device_t * ad) txq->n_enqueued); } vec_free (txq->bufs); + clib_ring_free (txq->rs_slots); } /* *INDENT-ON* */ vec_free (ad->txqs); -- cgit 1.2.3-korg