net/qede: remove flags from Tx entry
authorBalazs Nemeth <bnemeth@redhat.com>
Fri, 26 Mar 2021 11:01:24 +0000 (12:01 +0100)
committerJerin Jacob <jerinj@marvell.com>
Sat, 27 Mar 2021 14:00:11 +0000 (15:00 +0100)
commit6a11a1eac0b6dcd52580eef99cf6f09e3361cc3b
tree747eba61043bb86eeab0e077ab0f34ddc5f829e5
parent5cc6764267e405364d3dee5d0dc512fcf82a7786
net/qede: remove flags from Tx entry

Each sw_tx_ring entry was of type struct qede_tx_entry:

struct qede_tx_entry {
       struct rte_mbuf *mbuf;
       uint8_t flags;
};

Leaving the unused flags member here has a few performance implications.
First, each qede_tx_entry takes up more memory which has caching
implications as less entries fit in a cache line while multiple entries
are frequently handled in batches. Second, an array of qede_tx_entry
entries is incompatible with existing APIs that expect an array of
rte_mbuf pointers. Consequently, an extra array need to be allocated
before calling such APIs and each entry needs to be copied over.

This patch omits the flags field and replaces the qede_tx_entry entry
by a simple rte_mbuf pointer.

Signed-off-by: Balazs Nemeth <bnemeth@redhat.com>
Reviewed-by: Igor Russkikh <irusskikh@marvell.com>
drivers/net/qede/qede_rxtx.c
drivers/net/qede/qede_rxtx.h