Ubuntu 16.10: Network checksum fixes needed for IPoIB for Mellanox CX4/CX5 card

Bug #1670247 reported by bugproxy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Tim Gardner
Yakkety
Fix Released
Undecided
Tim Gardner
Zesty
Fix Released
Undecided
Tim Gardner

Bug Description

== Comment: #0 - Carol L. Soto <email address hidden> - 2017-03-03 22:23:11 ==
---Problem Description---
Mellanox CX4/CX5 IB if running IPoIB in connected mode, it does not have the hw checksum so when running IPoIB in power system the performance is low.
with iperf and 4 threads we get
[ 8] local 44.44.44.44 port 5001 connected with 44.44.44.45 port 48536
[ 4] local 44.44.44.44 port 5001 connected with 44.44.44.45 port 48538
[ 5] local 44.44.44.44 port 5001 connected with 44.44.44.45 port 48540
[ 6] local 44.44.44.44 port 5001 connected with 44.44.44.45 port 48542
[ 8] 0.0-10.0 sec 9.07 GBytes 7.79 Gbits/sec
[ 4] 0.0-10.0 sec 9.16 GBytes 7.87 Gbits/sec
[ 5] 0.0-10.0 sec 9.13 GBytes 7.84 Gbits/sec
[ 6] 0.0-10.0 sec 9.18 GBytes 7.88 Gbits/sec
[SUM] 0.0-10.0 sec 36.5 GBytes 31.4 Gbits/sec

if we add the following patches:
From 68201fbbb04a030864f8560b05d43d8019f7f8df Mon Sep 17 00:00:00 2001
From: Michael Ellerman <email address hidden>
Date: Thu, 11 Aug 2016 16:03:14 +1000
Subject: powerpc/Makefile: Drop CONFIG_WORD_SIZE for BITS

From b492f7e4e07a28e706db26cf4943bb0911435426 Mon Sep 17 00:00:00 2001
From: Paul Mackerras <email address hidden>
Date: Thu, 3 Nov 2016 16:10:55 +1100
Subject: powerpc/64: Fix checksum folding in csum_tcpudp_nofold and
 ip_fast_csum_nofold

From d4fde568a34a93897dfb9ae64cfe9dda9d5c908c Mon Sep 17 00:00:00 2001
From: Paul Mackerras <email address hidden>
Date: Thu, 3 Nov 2016 16:15:42 +1100
Subject: powerpc/64: Use optimized checksum routines on little-endian

then I can get with iperf
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 23.0 GBytes 19.7 Gbits/sec
[ 6] 0.0-10.0 sec 22.9 GBytes 19.7 Gbits/sec
[ 5] 0.0-10.0 sec 22.9 GBytes 19.7 Gbits/sec
[ 7] 0.0-10.0 sec 22.9 GBytes 19.6 Gbits/sec
[SUM] 0.0-10.0 sec 91.7 GBytes 78.7 Gbits/sec

Contact Information = Carol <email address hidden>

---uname output---
4.8.0-34-generic #36-Ubuntu SMP Wed Dec 21 17:22:53 UTC 2016 ppc64le ppc64le ppc64le GNU/Linux

---Additional Hardware Info---
Need a power system and Mellanox CX4 IB card.

Machine Type = P8

---Steps to Reproduce---
 just run iperf with IPoIB in connected mode and will see aroung 30Gbits/sec. If we add the patches then we can get more than 70Gbits/sec.

CVE References

bugproxy (bugproxy)
tags: added: architecture-ppc64le bugnameltc-152252 severity-high targetmilestone-inin---
Changed in ubuntu:
assignee: nobody → Taco Screen team (taco-screen-team)
affects: ubuntu → linux (Ubuntu)
Revision history for this message
Tim Gardner (timg-tpi) wrote :
Changed in linux (Ubuntu Yakkety):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Changed in linux (Ubuntu Zesty):
assignee: Taco Screen team (taco-screen-team) → Tim Gardner (timg-tpi)
status: New → Fix Released
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2017-03-10 11:53 EDT-------
Hi
I just noticed this other commit that is a fix to one of the commits. Can we add it too?

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/patch/arch/powerpc/include/asm/checksum.h?id=6ad966d7303b70165228dba1ee8da1a05c10eefe
From 6ad966d7303b70165228dba1ee8da1a05c10eefe Mon Sep 17 00:00:00 2001
From: Shile Zhang <email address hidden>
Date: Sat, 4 Feb 2017 17:03:40 +0800
Subject: powerpc/64: Fix checksum folding in csum_add()

Thanks.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Patch applied to Zesty and submitted to the k-team list for Yakkety

bugproxy (bugproxy)
tags: added: targetmilestone-inin1704
removed: targetmilestone-inin---
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2017-03-28 15:35 EDT-------
Hi Canonical
Which kernel will have these patches in zesty? thanks.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Oops, looks like ('powerpc/64: Fix checksum folding in csum_tcpudp_nofold and
 ip_fast_csum_nofold') and ('powerpc/64: Use optimized checksum routines on little-endian') went missing. They've been applied and will appear in 4.10.0-16.18

Changed in linux (Ubuntu Yakkety):
status: In Progress → Fix Committed
Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-yakkety' to 'verification-done-yakkety'. If the problem still exists, change the tag 'verification-needed-yakkety' to 'verification-failed-yakkety'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-yakkety
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2017-04-17 14:33 EDT-------
(In reply to comment #14)
> This bug is awaiting verification that the kernel in -proposed solves the
> problem. Please test the kernel and update this bug with the results. If the
> problem is solved, change the tag 'verification-needed-yakkety' to
> 'verification-done-yakkety'. If the problem still exists, change the tag
> 'verification-needed-yakkety' to 'verification-failed-yakkety'.
>
> If verification is not done by 5 working days from today, this fix will be
> dropped from the source code, and this bug will be closed.
>
> See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to
> enable and use -proposed. Thank you!

Hi Canonical
Which yakkety kernel is the one with the fix?
from looking at git it maybe in 4.8.0-47.50 but when I check the proposed kernel I only see until 4.8.0-46-generic.
Can you confirm? thanks.

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Hello,

The yakkety kernel in our proposed pocket should be 4.8.0-48.51

Thank you.

Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2017-04-20 17:46 EDT-------
(In reply to comment #16)
> Hello,
>
> The yakkety kernel in our proposed pocket should be 4.8.0-48.51
>
> Thank you.

Hi canonical
This made it to yaketty to 4.8.0-48-generic. I can see the better numbers.
Does latest zesty kernel has the patches?
Thanks.

tags: added: verification-done-yakkety
removed: verification-needed-yakkety
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (14.5 KiB)

This bug was fixed in the package linux - 4.8.0-49.52

---------------
linux (4.8.0-49.52) yakkety; urgency=low

  * linux: 4.8.0-49.52 -proposed tracker (LP: #1684427)

  * [Hyper-V] hv: util: move waiting for release to hv_utils_transport itself
    (LP: #1682561)
    - Drivers: hv: util: move waiting for release to hv_utils_transport itself

linux (4.8.0-48.51) yakkety; urgency=low

  * linux: 4.8.0-48.51 -proposed tracker (LP: #1682034)

  * [Hyper-V] hv: vmbus: Raise retry/wait limits in vmbus_post_msg()
    (LP: #1681893)
    - Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg()

linux (4.8.0-47.50) yakkety; urgency=low

  * linux: 4.8.0-47.50 -proposed tracker (LP: #1679678)

  * CVE-2017-6353
    - sctp: deny peeloff operation on asocs with threads sleeping on it

  * CVE-2017-5986
    - sctp: avoid BUG_ON on sctp_wait_for_sndbuf

  * vfat: missing iso8859-1 charset (LP: #1677230)
    - [Config] NLS_ISO8859_1=y

  * [Hyper-V] pci-hyperv: Use device serial number as PCI domain (LP: #1667527)
    - net/mlx4_core: Use cq quota in SRIOV when creating completion EQs

  * Regression: KVM modules should be on main kernel package (LP: #1678099)
    - [Config] powerpc: Add kvm-hv and kvm-pr to the generic inclusion list

  * linux-lts-xenial 4.4.0-63.84~14.04.2 ADT test failure with linux-lts-xenial
    4.4.0-63.84~14.04.2 (LP: #1664912)
    - SAUCE: apparmor: fix link auditing failure due to, uninitialized var

  * regession tests failing after stackprofile test is run (LP: #1661030)
    - SAUCE: fix regression with domain change in complain mode

  * Permission denied and inconsistent behavior in complain mode with 'ip netns
    list' command (LP: #1648903)
    - SAUCE: fix regression with domain change in complain mode

  * unexpected errno=13 and disconnected path when trying to open /proc/1/ns/mnt
    from a unshared mount namespace (LP: #1656121)
    - SAUCE: apparmor: null profiles should inherit parent control flags

  * apparmor refcount leak of profile namespace when removing profiles
    (LP: #1660849)
    - SAUCE: apparmor: fix ns ref count link when removing profiles from policy

  * tor in lxd: apparmor="DENIED" operation="change_onexec"
    namespace="root//CONTAINERNAME_<var-lib-lxd>" profile="unconfined"
    name="system_tor" (LP: #1648143)
    - SAUCE: apparmor: Fix no_new_privs blocking change_onexec when using stacked
      namespaces

  * apparmor oops in bind_mnt when dev_path lookup fails (LP: #1660840)
    - SAUCE: apparmor: fix oops in bind_mnt when dev_path lookup fails

  * apparmor auditing denied access of special apparmor .null fi\ le
    (LP: #1660836)
    - SAUCE: apparmor: Don't audit denied access of special apparmor .null file

  * apparmor label leak when new label is unused (LP: #1660834)
    - SAUCE: apparmor: fix label leak when new label is unused

  * apparmor reference count bug in label_merge_insert() (LP: #1660833)
    - SAUCE: apparmor: fix reference count bug in label_merge_insert()

  * apparmor's raw_data file in securityfs is sometimes truncated (LP: #1638996)
    - SAUCE: apparmor: fix replacement race in reading rawdata

  * unix domain socket cross permission check failing with n...

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

Other bug subscribers

Remote bug watches

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