Commits to resolve high network latency

Bug #1864233 reported by Joseph Salisbury
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-azure (Ubuntu)
Fix Released
Undecided
Unassigned
Xenial
Fix Released
Undecided
Marcelo Cerri
Bionic
Invalid
Undecided
Unassigned
linux-azure-4.15 (Ubuntu)
Fix Released
Undecided
Unassigned
Xenial
Invalid
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned

Bug Description

An issue has been identified with the NETVSC driver on Azure VMs. This issues has been fixed by four patches, which are available in the mainline kernel.

The issues is the following:
Outgoing traffic is sent from the guest to the Azure host over multiple parallel channels. The issue causes the traffic to be unevenly balanced across the channels, which results in a physical CPU on the Azure host becoming overloaded. In turn, the network traffic on the overloaded channel experiences significantly higher latency. This higher latency is causing issues for customers.

This issue is resolved by the following four mainline commits:

71f21959dd55 ("hv_netvsc: Fix offset usage in netvsc_send_table()")
171c1fd98df3 ("hv_netvsc: Fix send_table offset in case of a host bug")
c39ea5cba5a2 ("hv_netvsc: Fix tx_table init in rndis_set_subchannel()")
b0689faa8efc ("hv_netvsc: Fix unwanted rx_table reset")

These four commits have been submitted to upstream stable.

We would like to request these commits in Azure kernels for Xenial and Bionic

CVE References

Revision history for this message
Marcelo Cerri (mhcerri) wrote :

The 5.3 azure kernel in proposed already has all the required commits

linux-azure (5.3.0-1019.20) - proposed
    - hv_netvsc: Fix offset usage in netvsc_send_table()
    - hv_netvsc: Fix send_table offset in case of a host bug

linux-azure (5.3.0-1014.15)
    - hv_netvsc: Fix unwanted rx_table reset

linux-azure (5.3.0-1013.14)
    - hv_netvsc: Fix tx_table init in rndis_set_subchannel()

We will move the bionic:linux-azure to 5.3, so there's no need to fix it on 5.0.

Marcelo Cerri (mhcerri)
Changed in linux-azure (Ubuntu Xenial):
assignee: nobody → Marcelo Cerri (mhcerri)
Revision history for this message
Marcelo Cerri (mhcerri) wrote :

Patches for xenial:linux-azure:

[xenial:linux-azure][PATCH 0/6] LP:#1864233: Commits to resolve high network latency
https://lists.ubuntu.com/archives/kernel-team/2020-April/108698.html

Xenial already has b0689faa8efc ("hv_netvsc: Fix unwanted rx_table reset") but the remaining ones were included on the patchset.

Changed in linux-azure (Ubuntu Xenial):
status: New → In Progress
Revision history for this message
Marcelo Cerri (mhcerri) wrote :
Marcelo Cerri (mhcerri)
Changed in linux-azure (Ubuntu Xenial):
status: In Progress → Fix Committed
Changed in linux-azure-4.15 (Ubuntu Xenial):
status: New → Invalid
Changed in linux-azure-4.15 (Ubuntu Bionic):
status: New → Fix Committed
Changed in linux-azure (Ubuntu Bionic):
status: New → Invalid
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (41.4 KiB)

This bug was fixed in the package linux-azure-4.15 - 4.15.0-1082.92

---------------
linux-azure-4.15 (4.15.0-1082.92) bionic; urgency=medium

  * bionic/linux-azure-4.15: 4.15.0-1082.92 -proposed tracker (LP: #1870673)

  * Commits to resolve high network latency (LP: #1864233)
    - hv_netvsc: Fix tx_table init in rndis_set_subchannel()
    - hv_netvsc: simplify function args in receive status path
    - hv_netvsc: simplify receive side calling arguments
    - hv_netvsc: Fix offset usage in netvsc_send_table()
    - hv_netvsc: Add NetVSP v6 and v6.1 into version negotiation
    - hv_netvsc: Fix send_table offset in case of a host bug

  * [linux-azure] overlayfs regression - internal getxattr operations without
    sepolicy checking (LP: #1864669)
    - SAUCE: overlayfs: internal getxattr operations without sepolicy checking

  [ Ubuntu: 4.15.0-97.98 ]

  * bionic/linux: 4.15.0-97.98 -proposed tracker (LP: #1871312)
  * All PS/2 ports on PS/2 Serial add-in bracket are not working after S3
    (LP: #1866734)
    - SAUCE: Input: i8042 - fix the selftest retry logic
  * Bionic update: upstream stable patchset 2020-04-03 (LP: #1870604)
    - spi: qup: call spi_qup_pm_resume_runtime before suspending
    - powerpc: Include .BTF section
    - ARM: dts: dra7: Add "dma-ranges" property to PCIe RC DT nodes
    - spi: pxa2xx: Add CS control clock quirk
    - spi/zynqmp: remove entry that causes a cs glitch
    - drm/exynos: dsi: propagate error value and silence meaningless warning
    - drm/exynos: dsi: fix workaround for the legacy clock name
    - drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer
    - altera-stapl: altera_get_note: prevent write beyond end of 'key'
    - dm bio record: save/restore bi_end_io and bi_integrity
    - xenbus: req->body should be updated before req->state
    - xenbus: req->err should be updated before req->state
    - block, bfq: fix overwrite of bfq_group pointer in bfq_find_set_group()
    - parse-maintainers: Mark as executable
    - USB: Disable LPM on WD19's Realtek Hub
    - usb: quirks: add NO_LPM quirk for RTL8153 based ethernet adapters
    - USB: serial: option: add ME910G1 ECM composition 0x110b
    - usb: host: xhci-plat: add a shutdown
    - USB: serial: pl2303: add device-id for HP LD381
    - usb: xhci: apply XHCI_SUSPEND_DELAY to AMD XHCI controller 1022:145c
    - ALSA: line6: Fix endless MIDI read loop
    - ALSA: seq: virmidi: Fix running status after receiving sysex
    - ALSA: seq: oss: Fix running status after receiving sysex
    - ALSA: pcm: oss: Avoid plugin buffer overflow
    - ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks
    - iio: trigger: stm32-timer: disable master mode when stopping
    - iio: magnetometer: ak8974: Fix negative raw values in sysfs
    - mmc: sdhci-of-at91: fix cd-gpios for SAMA5D2
    - staging: rtl8188eu: Add device id for MERCUSYS MW150US v2
    - staging/speakup: fix get_word non-space look-ahead
    - intel_th: Fix user-visible error codes
    - intel_th: pci: Add Elkhart Lake CPU support
    - rtc: max8907: add missing select REGMAP_IRQ
    - xhci: Do not open code __print_symbolic() in xhci trace events
    - memcg: fix NULL poi...

Changed in linux-azure-4.15 (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (41.6 KiB)

This bug was fixed in the package linux-azure - 4.15.0-1082.92~16.04.1

---------------
linux-azure (4.15.0-1082.92~16.04.1) xenial; urgency=medium

  * xenial/linux-azure: 4.15.0-1082.92~16.04.1 -proposed tracker (LP: #1870683)

  * Strip specific changes from update-from-*master (LP: #1817734)
    - Packaging: Introduce copy-files and local-mangle

  * Packaging resync (LP: #1786013)
    - [Packaging] update update.conf

  [ Ubuntu: 4.15.0-1082.92 ]

  * bionic/linux-azure-4.15: 4.15.0-1082.92 -proposed tracker (LP: #1870673)
  * Commits to resolve high network latency (LP: #1864233)
    - hv_netvsc: Fix tx_table init in rndis_set_subchannel()
    - hv_netvsc: simplify function args in receive status path
    - hv_netvsc: simplify receive side calling arguments
    - hv_netvsc: Fix offset usage in netvsc_send_table()
    - hv_netvsc: Add NetVSP v6 and v6.1 into version negotiation
    - hv_netvsc: Fix send_table offset in case of a host bug
  * [linux-azure] overlayfs regression - internal getxattr operations without
    sepolicy checking (LP: #1864669)
    - SAUCE: overlayfs: internal getxattr operations without sepolicy checking
  * bionic/linux: 4.15.0-97.98 -proposed tracker (LP: #1871312)
  * All PS/2 ports on PS/2 Serial add-in bracket are not working after S3
    (LP: #1866734)
    - SAUCE: Input: i8042 - fix the selftest retry logic
  * Bionic update: upstream stable patchset 2020-04-03 (LP: #1870604)
    - spi: qup: call spi_qup_pm_resume_runtime before suspending
    - powerpc: Include .BTF section
    - ARM: dts: dra7: Add "dma-ranges" property to PCIe RC DT nodes
    - spi: pxa2xx: Add CS control clock quirk
    - spi/zynqmp: remove entry that causes a cs glitch
    - drm/exynos: dsi: propagate error value and silence meaningless warning
    - drm/exynos: dsi: fix workaround for the legacy clock name
    - drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer
    - altera-stapl: altera_get_note: prevent write beyond end of 'key'
    - dm bio record: save/restore bi_end_io and bi_integrity
    - xenbus: req->body should be updated before req->state
    - xenbus: req->err should be updated before req->state
    - block, bfq: fix overwrite of bfq_group pointer in bfq_find_set_group()
    - parse-maintainers: Mark as executable
    - USB: Disable LPM on WD19's Realtek Hub
    - usb: quirks: add NO_LPM quirk for RTL8153 based ethernet adapters
    - USB: serial: option: add ME910G1 ECM composition 0x110b
    - usb: host: xhci-plat: add a shutdown
    - USB: serial: pl2303: add device-id for HP LD381
    - usb: xhci: apply XHCI_SUSPEND_DELAY to AMD XHCI controller 1022:145c
    - ALSA: line6: Fix endless MIDI read loop
    - ALSA: seq: virmidi: Fix running status after receiving sysex
    - ALSA: seq: oss: Fix running status after receiving sysex
    - ALSA: pcm: oss: Avoid plugin buffer overflow
    - ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks
    - iio: trigger: stm32-timer: disable master mode when stopping
    - iio: magnetometer: ak8974: Fix negative raw values in sysfs
    - mmc: sdhci-of-at91: fix cd-gpios for SAMA5D2
    - staging: rtl8188eu: Add device id for MERCUSYS MW150US v2
    - staging...

Changed in linux-azure (Ubuntu Xenial):
status: Fix Committed → Fix Released
Po-Hsu Lin (cypressyew)
Changed in linux-azure-4.15 (Ubuntu):
status: New → Fix Released
Changed in linux-azure (Ubuntu):
status: New → 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.