[ovs-build] Passed: istokes/ovs#691 (mseg - 54c0661)

Travis CI builds at travis-ci.org
Tue Oct 16 13:19:15 UTC 2018


Build Update for istokes/ovs
-------------------------------------

Build: #691
Status: Passed

Duration: 55 mins and 4 secs
Commit: 54c0661 (mseg)
Author: Mark Kavanagh
Message: netdev-dpdk: fix mbuf sizing

There are numerous factors that must be considered when calculating
the size of an mbuf:
- the data portion of the mbuf must be sized in accordance With Rx
  buffer alignment (typically 1024B). So, for example, in order to
  successfully receive and capture a 1500B packet, mbufs with a
  data portion of size 2048B must be used.
- in OvS, the elements that comprise an mbuf are:
  * the dp packet, which includes a struct rte mbuf (704B)
  * RTE_PKTMBUF_HEADROOM (128B)
  * packet data (aligned to 1k, as previously described)
  * RTE_PKTMBUF_TAILROOM (typically 0)

Some PMDs require that the total mbuf size (i.e. the total sum of all
of the above-listed components' lengths) is cache-aligned. To satisfy
this requirement, it may be necessary to round up the total mbuf size
with respect to cacheline size. In doing so, it's possible that the
dp_packet's data portion is inadvertently increased in size, such that
it no longer adheres to Rx buffer alignment. Consequently, the
following property of the mbuf no longer holds true:

    mbuf.data_len == mbuf.buf_len - mbuf.data_off

This creates a problem in the case of multi-segment mbufs, where that
assumption is assumed to be true for all but the final segment in an
mbuf chain. Resolve this issue by adjusting the size of the mbuf's
private data portion, as opposed to the packet data portion when
aligning mbuf size to cachelines.

Fixes: 4be4d22 ("netdev-dpdk: clean up mbuf initialization")
Fixes: 31b88c9 ("netdev-dpdk: round up mbuf_size to cache_line_size")
CC: Santosh Shukla <santosh.shukla at caviumnetworks.com>
Signed-off-by: Mark Kavanagh <mark.b.kavanagh at intel.com>
Acked-by: Santosh Shukla <santosh.shukla at caviumnetworks.com>
Acked-by: Eelco Chaudron <echaudro at redhat.com>

View the changeset: https://github.com/istokes/ovs/compare/efc93e661391^...54c06617b58b

View the full build log and details: https://travis-ci.org/istokes/ovs/builds/442144980?utm_medium=notification&utm_source=email

--

You can unsubscribe from build emails from the istokes/ovs repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=16644441&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-build/attachments/20181016/53a5efce/attachment-0001.html>


More information about the build mailing list