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