Bug 1575067 - Backport "net/nfp: fix mbufs releasing when stop or close"
Summary: Backport "net/nfp: fix mbufs releasing when stop or close"
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: openvswitch
Version: 7.6
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Timothy Redaelli
QA Contact: Jean-Tsung Hsiao
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-05-04 16:46 UTC by Timothy Redaelli
Modified: 2018-07-09 16:44 UTC (History)
7 users (show)

Fixed In Version: openvswitch-2.9.0-30.el7fdn
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1573912
Environment:
Last Closed: 2018-06-21 13:36:35 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:1962 0 None None None 2018-06-21 13:37:18 UTC

Description Timothy Redaelli 2018-05-04 16:46:54 UTC
+++ This bug was initially created as a clone of Bug #1573912 +++

Would like to have the following DPDK commit in RHEL 7.6. Not sure how the process works for DPDK, feel free to educate me:

commit 0c0e46c36bcc5dfe9d2aa605e1a5f714d45e0b7f
Author: Alejandro Lucero <alejandro.lucero@netronome.com>
Date:   Mon Apr 23 12:23:58 2018 +0100

    net/nfp: fix mbufs releasing when stop or close
    
    PMDs have the responsibility of releasing mbufs sent through xmit burst
    function. NFP PMD attaches those sent mbufs to the TX ring structure,
    and it is at the next time a specific ring descriptor is going to be
    used when the previous linked mbuf, already transmitted at that point,
    is released. Those mbufs belonging to a chained mbuf got its own link
    to a ring descriptor, and they are released independently of the mbuf
    head of that chain.
    
    The problem is how those mbufs are released when the PMD is stopped or
    closed. Instead of releasing those mbufs as the xmit functions does,
    this is independently of being in a mbuf chain, the code calls
    rte_pktmbuf_free which will release not just the mbuf head in that
    chain but all the chained mbufs. The loop will try to release those
    mbufs which have already been released again when chained mbufs exist.
    
    This patch fixes the problem using rte_pktmbuf_free_seg instead.
    
    Fixes: b812daadad0d ("nfp: add Rx and Tx")
    Cc: stable@dpdk.org
    
    Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>

Comment 7 Jean-Tsung Hsiao 2018-06-19 15:41:11 UTC
The package has been verified by running concurrent netperf tests between guests over OVS-dpdk/vxlan/nfp tunnel.

Comment 9 Jean-Tsung Hsiao 2018-06-20 18:44:51 UTC
NFP people has done their part. Please check
https://bugzilla.redhat.com/show_bug.cgi?id=1573912#c20

Comment 10 errata-xmlrpc 2018-06-21 13:36:35 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:1962


Note You need to log in before you can comment on or make changes to this bug.