mbuf: reorder fields by time of use
authorBruce Richardson <bruce.richardson@intel.com>
Thu, 11 Sep 2014 13:15:36 +0000 (14:15 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 17 Sep 2014 16:53:40 +0000 (18:53 +0200)
commit21dc08a9917336199b55d993b4829dffc9637cd1
tree86cfbec7147dff60a0bbc02899a8b6d635f9dd31
parent08b563ffb19d8baf59dd84200f25bc85031d18a7
mbuf: reorder fields by time of use

*  Reorder the fields in the mbuf so that we have fields that are used
together side-by-side in the structure. This means that we have a
contiguous block of 8-bytes in the mbuf which are used to reset an mbuf
of descriptor rearm, and a block of 16-bytes of data (excluding flags)
which are set on RX from the received packet descriptor.
* Use dummy fields as appropriate to ensure alignment or to reserve gaps
for later field additions.
* Place most items which are not used by fast-path RX separately at the end
of the structure so they can later be moved to a separate cache line.
[The l2/l3 length fields are not moved at this stage as doing so will
cause overflow to the next cache line].

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h
lib/librte_mbuf/rte_mbuf.h