dpdk stability improvements by cherry picking from 16.04-rc1

Bug #1559981 reported by Christian Ehrhardt 
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
dpdk (Ubuntu)
Fix Released
High
Christian Ehrhardt 

Bug Description

DPDK is great, but also a very fast moving project.
Looking at quite some commits post dpdk 2.2 shows that there are various issues that we should not let our customers run into, but instead backport some non-functional but bug fixing patches from upstream dpdk into our 2.2 release.

Just as some fixes that we found in testing and provided them upstream plus packaging them - there are many more that fall into the same category.

Please analyze potential fixes and try to integrate in packaging.
It would be a tremendous improvement to the stability of DPDK to get at least some of them.

Changed in dpdk (Ubuntu):
status: New → Triaged
importance: Undecided → High
assignee: nobody → ChristianEhrhardt (paelzer)
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

I had a focus on identifying:
- only patches to components that are enabled in our packaging
- issues that have a real chance to occur on the usage we expect for 16.04 timeframe
- patches that are small, so review is not overly complex
- apply without manual adaption (offset ok to some extend, no fuzz, no manual fix)

commit d3a274ce9dee28118b8647e0db72ef0f4b6a6323
    app/testpmd: handle SIGINT and SIGTERM
commit 308df2bfba3d238fc1d2d16cc10c84681803b408
    Handle SIGINT and SIGTERM in l3fwd.
commit da82ee17e6ea99bf2931383ac33b0caccaaaefce
    tools: fix unbinding failure handling
commit 16c1814c802c205f6d3c32e3d3d10de9f87e7f22
    tools: support Python 3 in bind script
commit bb9f408550d13af6c1da104b0d9d9b9837f69bde
    tools: support binding to built-in kernel modules

commit 6e7caa1ad9d597fed0a49468af25ae6e68b8c443
    eal/linux: support built-in kernel modules

commit 86f36ff9578b5f3d697c8fcf6072dcb70e2b246f
    mempool: fix leak when creation fails

commit ca67ed289a76f38d6c4a4021985a36eaf1d77e28
    vhost: fix leak of fds and mmaps
commit fa11a8a7251e14eca0a4190128732386f13551bd
   port: fix crash for ring writer nodrop
commit 04f366906ab395c8047bebfc1ddea244dfcb40f5
   port: fix crash for ethdev writer nodrop

commit c7a4ff80722e9237a4c504106d21ba5ca27d8df2
   i40e: fix overflow
commit 097e920c32bf19cf918cc071525f33b0abdeebaf
   i40e: fix inverted check for no refcount
commit 330aa319382aec9ea595f9ebcb9a3c44647ad66c
    i40e: fix VLAN filtering
commit 9f44dd3d8ad447c7f797a9564d30a15e5ab7f72b
    i40e/base: fix missing check for stopped admin queue
commit 8a8807369ffafef90c410279b4b2645d2d7a7483
    i40e/base: fix driver load failure

commit 7656a546c0609f3205558a5d48352c82607d38d3
    fm10k: fix VLAN flag in scattered Rx

commit c6fb0e55585206a89f6db396de860e6e844cad06
    pcap: fix captured frame length

commit 6e02723754fb2b341701ac438486b2dfea98b523
    bonding: fix detach of bonded device
commit df3e8ad73f4c92b4eb8f49ff33271d4a09e6a04a
    bonding: fix detach of slave devices
commit 786c990a11e6e6592dfdee02840877070aa3a79a
    bonding: copy entire config structure in mode 4
commit 6698820b5f6d955b6af2b916e1074db236d4f5a2
    bonding: do not ignore multicast in mode 4
commit 8997a10bfcad789d000debaac4cd85cd3db57997
    bonding: fix active slaves with no primary
commit 7a7122edf1c8d63e516d1b2c2eff6fa9b54e0f82
    bonding: do not activate slave twice
commit 2186fff3675d4e774cecc8f918c05063e0367d28
    bonding: fix crash when no slave device

The following patches were considered but too complex / non applying without adaption
For those we need a way "harder" reasoning to cherry pick them:
commit 1939d724f2d0bd2f81d7fbc9d0b17f0cf1815154
    i40e/base: fix uncertain event descriptor issue
commit 360c4545e01e97676681dece153d884cd72f681a
    fm10k/base: fix max queues on VF initialization failure

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Actually these might be good candidates to go to http://dpdk.org/browse/dpdk-stable/.
Once my testing is done I should suggest that.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Adding two more to the list of working and tested stability fixes:
commit 3b1e3e4e362453df8cecbc6d481444be8b84326e
    virtio: fix descriptors pointing to the same buffer
commit c680a4a88c4312068f60937a7ba51eac8211c9a6
    virtio: fix crash in statistics functions

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.3 KiB)

This bug was fixed in the package dpdk - 2.2.0-0ubuntu6

---------------
dpdk (2.2.0-0ubuntu6) xenial; urgency=medium

  * d/dpdk-init fix handling of multiple huge page sizes (LP: #1557532):
     - dpdk-init now ensures non-default-hugepage-size mountpoints are
       available as well.
     - extra mountpoints are only created if requested in dpdk.conf and not yet
       available (e.g. by the admin).
  * d/dpdk-init fix issues with unassigned devices (LP: #1558485):
     - dpdk-init no more checks /sys/.../driver of the device unconditionally
     - removed the superfluous tr call in that path
  * d/p/ubuntu-fix-lpm-use-after-free-and-leak.patch lpm/lpm6 (LP: #1554009):
     - lpm/lpm6 fix use after free on lpm[6]_create
     - lpm/lpm6 fix missing frees of rules_tbl substructure
     - lpm/lpm6 fix missing free of lpm due to early exit
     - make RTE_LOG messages of the failed allocation unique
  * d/p/ubuntu-backport-[01-26] backport for stability (LP: #1559981):
     - these will be in the following dpdk release and delta can then be dropped
     - 26 fixes that do not change api/behaviour but fix serious issues
        - 01 d3a274ce app/testpmd: handle SIGINT and SIGTERM
        - 02 308df2bf Handle SIGINT and SIGTERM in l3fwd.
        - 03 da82ee17 tools: fix unbinding failure handling
        - 04 16c1814c tools: support Python 3 in bind script
        - 05 bb9f4085 tools: support binding to built-in kernel modules
        - 06 6e7caa1a eal/linux: support built-in kernel modules
        - 07 86f36ff9 mempool: fix leak when creation fails
        - 08 ca67ed28 vhost: fix leak of fds and mmaps
        - 09 fa11a8a7 port: fix crash for ring writer nodrop
        - 10 04f36690 port: fix crash for ethdev writer nodrop
        - 11 c7a4ff80 i40e: fix overflow
        - 12 097e920c i40e: fix inverted check for no refcount
        - 13 330aa319 i40e: fix VLAN filtering
        - 14 9f44dd3d i40e/base: fix missing check for stopped admin queue
        - 15 8a880736 i40e/base: fix driver load failure
        - 16 7656a546 fm10k: fix VLAN flag in scattered Rx
        - 17 c6fb0e55 pcap: fix captured frame length
        - 18 6e027237 bonding: fix detach of bonded device
        - 19 df3e8ad7 bonding: fix detach of slave devices
        - 20 786c990a bonding: copy entire config structure in mode 4
        - 21 6698820b bonding: do not ignore multicast in mode 4
        - 22 8997a10b bonding: fix active slaves with no primary
        - 23 7a7122ed bonding: do not activate slave twice
        - 24 2186fff3 bonding: fix crash when no slave device
        - 25 c680a4a8 virtio: fix crash in statistics functions
        - 26 3b1e3e4e virtio: fix descriptors pointing to the same buffer
  * d/p/ubuntu-backport-27-virtio-fix-restart.patch for (LP: #1559981):
     - fixing re-initializing the ethdev as openvswitch-dpdk does in the
       virtio pmd driver by moving the detection of already being initialized
       from virtio_dev_close to virtio_dev_start/stop
     - this will be in the following dpdk release and delta can then be dropped
  * d/rules build with debuginfo (LP: #1560839):
     - exporting CFLAGS for all dpdk build processes
     - dh_strip...

Read more...

Changed in dpdk (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.