[dpdk-dev] [PATCH v2 00/13] Mbuf Structure Rework, part 2

Thomas Monjalon thomas.monjalon at 6wind.com
Thu Sep 18 00:35:45 CEST 2014


2014-09-11 14:15, Bruce Richardson:
> This patch set continues on from the changes in part 1, and depends
> upon that patch set.
> 
> This patch set reorders the fields in the mbuf structure and splits
> the structure across two cache lines, given lots of new space for new
> fields to be added. This set uses some of that space by expanding the
> ol_flags field. A part 3 patchset is planned to introduce some other
> new fields into the new mbuf structure.
> 
> With the splitting of the mbuf across multiple cache lines, performance
> degradations are seen inside the drivers, both fast-path and slow path.
> For the fast-path, this patchset reworks the way in which the pool pointer
> is used to free packets post-TX, which removes the perf regression. For
> the slow path, an alternative approach is taken - a new scattered packets
> RX function is introduced into the vector PMD. Using this function,
> throughput for the slow path RX-TX using testpmd is increased by up to 20%
> over the original baseline.
> 
> Changes in V2:
> * General minor updates follow comments on V1 set
> * Updated a number of patches to include KNI mbuf changes where needed
> * Deferred the patch to add the packet type field to a future patch set
> * After removing meta-data element from mbuf structure also added in patch
>   to move the macros to rte_port/rte_port.h
> 
> Bruce Richardson (11):
>   mbuf: reorder fields by time of use
>   mbuf: expand ol_flags field to 64-bits
>   mbuf: introduce a flag to indicate a control mbuf
>   mbuf: minor changes for readability
>   mbuf: use macros only to access the mbuf metadata
>   mbuf: add named points inside the mbuf structure
>   ixgbe: rework vector pmd following mbuf changes
>   mbuf: split mbuf across two cache lines.
>   mbuf: move l2_len and l3_len to second cache line
>   ixgbe: Fix perf regression due to moved pool ptr
>   ixgbe: Improve slow-path perf: vector scattered RX
> 
> Olivier Matz (1):
>   mbuf: replace data pointer by an offset

Applied for version 1.8.0.

Note that ixgbe patches are not reviewed but I make an exception here,
because Intel is responsible of ixgbe performances and we have some
time to fix it (if needed) before the release.

-- 
Thomas


More information about the dev mailing list