← Back to team overview

kernel-packages team mailing list archive

[Bug 1358949] [NEW] arm64 iperf performance suboptimal

 

Public bug reported:

[Impact]
The copy_{to,from}_user implementations in the Ubuntu kernel are suboptimal. Optimized implementations have been submitted upstream and have shown a significant improvement in network performance.

    Iperf performance increase:
                -l (size)               1 core result
    Optimized   64B                     44-51Mb/s
                1500B                   4.9Gb/s
                30000B                  16.2Gb/s
    Original    64B                     34-50.7Mb/s
                1500B                   4.7Gb/s
                30000B                  14.5Gb/s

[Test Case]
Generate traffic from one node to another using iperf (see above for config).

[Regression Risk]
These functions are obviously used heavily throughout the kernel, so a defect here could have significant impact. This risk is mitigated by using an implementation heavily based on the linaro string libraries (which are used in other places already, e.g. glibc), and through active testing of this patch on real hardware using a trusty-kernel base.

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

** Patch added: "optimized copy_to_user and copy_from_user for arm64"
   https://bugs.launchpad.net/bugs/1358949/+attachment/4181987/+files/0001-UBUNTU-SAUCE-no-up-arm64-optimized-copy_to_user-and-.patch

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1358949

Title:
  arm64 iperf performance suboptimal

Status in “linux” package in Ubuntu:
  New

Bug description:
  [Impact]
  The copy_{to,from}_user implementations in the Ubuntu kernel are suboptimal. Optimized implementations have been submitted upstream and have shown a significant improvement in network performance.

      Iperf performance increase:
                  -l (size)               1 core result
      Optimized   64B                     44-51Mb/s
                  1500B                   4.9Gb/s
                  30000B                  16.2Gb/s
      Original    64B                     34-50.7Mb/s
                  1500B                   4.7Gb/s
                  30000B                  14.5Gb/s

  [Test Case]
  Generate traffic from one node to another using iperf (see above for config).

  [Regression Risk]
  These functions are obviously used heavily throughout the kernel, so a defect here could have significant impact. This risk is mitigated by using an implementation heavily based on the linaro string libraries (which are used in other places already, e.g. glibc), and through active testing of this patch on real hardware using a trusty-kernel base.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1358949/+subscriptions


Follow ups

References