tcp: Add memory barrier to tcp_push()

Bug #2051727 reported by Salvatore
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned
Focal
Invalid
Undecided
Philip Cox
Jammy
Invalid
Undecided
Philip Cox
Mantic
Invalid
Undecided
Philip Cox
linux-aws (Ubuntu)
Invalid
Undecided
Unassigned
Focal
Fix Released
Undecided
Philip Cox
Jammy
Fix Released
Undecided
Philip Cox
Mantic
Fix Released
Undecided
Philip Cox

Bug Description

Recently a patch has been accepted on the Linux Kernel regarding the TCP stack which fix an additional +40ms latency on ARM64 CPU architecture without impacting other CPU types.

More information can be find in here: https://<email address hidden>/

Would be possible to include the following patch as part of Linux image on the most recent and LTS maintained Ubuntu versions?

Patch:
```
---
 net/ipv4/tcp.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index ff6838ca2e58..7bce79beca2b 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -722,6 +722,7 @@ void tcp_push(struct sock *sk, int flags, int mss_now,
   if (!test_bit(TSQ_THROTTLED, &sk->sk_tsq_flags)) {
    NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPAUTOCORKING);
    set_bit(TSQ_THROTTLED, &sk->sk_tsq_flags);
+ smp_mb__after_atomic();
   }
   /* It is possible TX completion already happened
    * before we set TSQ_THROTTLED.
--
```

Philip Cox (philcox)
Changed in linux (Ubuntu Focal):
assignee: nobody → Philip Cox (philcox)
Changed in linux (Ubuntu Jammy):
assignee: nobody → Philip Cox (philcox)
Changed in linux (Ubuntu Mantic):
assignee: nobody → Philip Cox (philcox)
Changed in linux (Ubuntu Focal):
status: New → In Progress
Changed in linux (Ubuntu Jammy):
status: New → In Progress
Changed in linux (Ubuntu Mantic):
status: New → In Progress
Philip Cox (philcox)
Changed in linux (Ubuntu Focal):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Jammy):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Mantic):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-aws/5.4.0-1122.132 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-focal-linux-aws' to 'verification-done-focal-linux-aws'. If the problem still exists, change the tag 'verification-needed-focal-linux-aws' to 'verification-failed-focal-linux-aws'.

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: kernel-spammed-focal-linux-aws-v2 verification-needed-focal-linux-aws
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-aws/6.5.0-1017.17 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-mantic-linux-aws' to 'verification-done-mantic-linux-aws'. If the problem still exists, change the tag 'verification-needed-mantic-linux-aws' to 'verification-failed-mantic-linux-aws'.

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: kernel-spammed-mantic-linux-aws-v2 verification-needed-mantic-linux-aws
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-aws-fips/5.15.0-1057.63+fips1 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-jammy-linux-aws-fips' to 'verification-done-jammy-linux-aws-fips'. If the problem still exists, change the tag 'verification-needed-jammy-linux-aws-fips' to 'verification-failed-jammy-linux-aws-fips'.

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: kernel-spammed-jammy-linux-aws-fips-v2 verification-needed-jammy-linux-aws-fips
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-aws-5.15/5.15.0-1057.63~20.04.1 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-focal-linux-aws-5.15' to 'verification-done-focal-linux-aws-5.15'. If the problem still exists, change the tag 'verification-needed-focal-linux-aws-5.15' to 'verification-failed-focal-linux-aws-5.15'.

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: kernel-spammed-focal-linux-aws-5.15-v2 verification-needed-focal-linux-aws-5.15
Philip Cox (philcox)
tags: added: verification-passed-focal-linux-aws verification-passed-focal-linux-aws-5.15 verification-passed-jammy-linux-aws-fips verification-passed-mantic-linux-aws
removed: verification-needed-focal-linux-aws verification-needed-focal-linux-aws-5.15 verification-needed-jammy-linux-aws-fips verification-needed-mantic-linux-aws
Revision history for this message
Roxana Nicolescu (roxanan) wrote :

This was added to linux-aws, not linux and it messed up the verification process

Changed in linux (Ubuntu):
status: New → Invalid
Changed in linux (Ubuntu Focal):
status: Fix Committed → Invalid
Changed in linux (Ubuntu Jammy):
status: Fix Committed → Invalid
Changed in linux (Ubuntu Mantic):
status: Fix Committed → Invalid
Changed in linux-aws (Ubuntu):
status: New → Invalid
Changed in linux-aws (Ubuntu Focal):
assignee: nobody → Philip Cox (philcox)
Changed in linux-aws (Ubuntu Jammy):
assignee: nobody → Philip Cox (philcox)
Changed in linux-aws (Ubuntu Mantic):
assignee: nobody → Philip Cox (philcox)
Changed in linux-aws (Ubuntu Focal):
status: New → Fix Committed
Changed in linux-aws (Ubuntu Jammy):
status: New → Fix Committed
Changed in linux-aws (Ubuntu Mantic):
status: New → Fix Committed
tags: added: verification-done-focal-linux-aws verification-done-focal-linux-aws-5.15 verification-done-jammy-linux-aws-fips verification-done-mantic-linux-aws
removed: verification-passed-focal-linux-aws verification-passed-focal-linux-aws-5.15 verification-passed-jammy-linux-aws-fips verification-passed-mantic-linux-aws
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (19.5 KiB)

This bug was fixed in the package linux-aws - 5.4.0-1122.132

---------------
linux-aws (5.4.0-1122.132) focal; urgency=medium

  * focal/linux-aws: 5.4.0-1122.132 -proposed tracker (LP: #2055639)

  * Focal update: v5.4.267 upstream stable release (LP: #2054406)
    - [Config] Update annotations for CONFIG_SND_MESON_CODEC_GLUE

  * Packaging resync (LP: #1786013)
    - [Packaging] drop ABI data
    - debian.aws/dkms-versions -- update from kernel-versions (main/2024.03.04)

  * aws: Backport latest ENA driver in upstream Linux to enable IRQ moderation
    (LP: #2056475)
    - net: ena: Enable DIM by default

  * tcp: Add memory barrier to tcp_push() (LP: #2051727)
    - tcp: Add memory barrier to tcp_push()

  [ Ubuntu: 5.4.0-175.195 ]

  * focal/linux: 5.4.0-175.195 -proposed tracker (LP: #2055684)
  * Packaging resync (LP: #1786013)
    - [Packaging] drop ABI data
    - [Packaging] update annotations scripts
    - debian.master/dkms-versions -- update from kernel-versions (main/2024.03.04)
  * Drop ABI checks from kernel build (LP: #2055686)
    - [Packaging] Remove in-tree abi checks
    - [Packaging] Bring back install-<flavour> prerequisite for checks-<flavour>
    - [Packaging] Remove abi-check from final-checks
  * Cranky update-dkms-versions rollout (LP: #2055685)
    - [Packaging] remove update-dkms-versions
    - Move debian/dkms-versions to debian.master/dkms-versions
    - [Packaging] Replace debian/dkms-versions with $(DEBIAN)/dkms-versions
    - [Packaging] remove update-version-dkms
  * linux-tools-common: man page of usbip[d] is misplaced (LP: #2054094)
    - [Packaging] rules: Put usbip manpages in the correct directory
  * CVE-2024-23851
    - dm ioctl: log an error if the ioctl structure is corrupted
    - dm: limit the number of targets and parameter size area
  * Focal update: v5.4.268 upstream stable release (LP: #2055075)
    - f2fs: explicitly null-terminate the xattr list
    - pinctrl: lochnagar: Don't build on MIPS
    - ALSA: hda - Fix speaker and headset mic pin config for CHUWI CoreBook XPro
    - ASoC: Intel: Skylake: Fix mem leak in few functions
    - ASoC: nau8822: Fix incorrect type in assignment and cast to restricted
      __be16
    - ASoC: Intel: Skylake: mem leak in skl register function
    - ASoC: cs43130: Fix the position of const qualifier
    - ASoC: cs43130: Fix incorrect frame delay configuration
    - ASoC: rt5650: add mutex to avoid the jack detection failure
    - nouveau/tu102: flush all pdbs on vmm flush
    - net/tg3: fix race condition in tg3_reset_task()
    - ASoC: da7219: Support low DC impedance headset
    - nvme: introduce helper function to get ctrl state
    - drm/exynos: fix a potential error pointer dereference
    - drm/exynos: fix a wrong error checking
    - clk: rockchip: rk3128: Fix HCLK_OTG gate register
    - jbd2: correct the printing of write_flags in jbd2_write_superblock()
    - drm/crtc: Fix uninit-value bug in drm_mode_setcrtc
    - neighbour: Don't let neigh_forced_gc() disable preemption for long
    - tracing: Have large events show up as '[LINE TOO BIG]' instead of nothing
    - tracing: Add size check when printing trace_marker output
    - ring-buffer: Do not ...

Changed in linux-aws (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (41.9 KiB)

This bug was fixed in the package linux-aws - 6.5.0-1017.17

---------------
linux-aws (6.5.0-1017.17) mantic; urgency=medium

  * mantic/linux-aws: 6.5.0-1017.17 -proposed tracker (LP: #2055564)

  * Packaging resync (LP: #1786013)
    - [Packaging] drop ABI data
    - debian.aws/dkms-versions -- update from kernel-versions (main/2024.03.04)

  * linux: please move dmi-sysfs.ko (CONFIG_DMI_SYSFS for SMBIOS support) from
    linux-modules-extra to linux-modules (LP: #2045561)
    - [Packaging] Move dmi-sysfs.ko into linux-modules

  * linux: please move erofs.ko (CONFIG_EROFS for EROFS support) from linux-
    modules-extra to linux-modules (LP: #2054809)
    - UBUNTU [Packaging]: Include erofs in linux-modules instead of linux-modules-
      extra

  * aws: Backport latest ENA driver in upstream Linux to enable IRQ moderation
    (LP: #2056475)
    - net: ena: Enable DIM by default

  * tcp: Add memory barrier to tcp_push() (LP: #2051727)
    - tcp: Add memory barrier to tcp_push()

  [ Ubuntu: 6.5.0-27.28 ]

  * mantic/linux: 6.5.0-27.28 -proposed tracker (LP: #2055584)
  * Packaging resync (LP: #1786013)
    - [Packaging] drop ABI data
    - [Packaging] update annotations scripts
    - debian.master/dkms-versions -- update from kernel-versions (main/2024.03.04)
  * CVE-2024-26597
    - net: qualcomm: rmnet: fix global oob in rmnet_policy
  * CVE-2024-26599
    - pwm: Fix out-of-bounds access in of_pwm_single_xlate()
  * Drop ABI checks from kernel build (LP: #2055686)
    - [Packaging] Remove in-tree abi checks
  * Cranky update-dkms-versions rollout (LP: #2055685)
    - [Packaging] remove update-dkms-versions
    - Move debian/dkms-versions to debian.master/dkms-versions
    - [Packaging] Replace debian/dkms-versions with $(DEBIAN)/dkms-versions
  * linux: please move erofs.ko (CONFIG_EROFS for EROFS support) from linux-
    modules-extra to linux-modules (LP: #2054809)
    - UBUNTU [Packaging]: Include erofs in linux-modules instead of linux-modules-
      extra
  * performance: Scheduler: ratelimit updating of load_avg (LP: #2053251)
    - sched/fair: Ratelimit update to tg->load_avg
  * IB peer memory feature regressed in 6.5 (LP: #2055082)
    - SAUCE: RDMA/core: Introduce peer memory interface
  * linux-tools-common: man page of usbip[d] is misplaced (LP: #2054094)
    - [Packaging] rules: Put usbip manpages in the correct directory
  * CVE-2024-23851
    - dm: limit the number of targets and parameter size area
  * CVE-2024-23850
    - btrfs: do not ASSERT() if the newly created subvolume already got read
  * x86: performance: tsc: Extend watchdog check exemption to 4-Sockets platform
    (LP: #2054699)
    - x86/tsc: Extend watchdog check exemption to 4-Sockets platform
  * linux: please move dmi-sysfs.ko (CONFIG_DMI_SYSFS for SMBIOS support) from
    linux-modules-extra to linux-modules (LP: #2045561)
    - [Packaging] Move dmi-sysfs.ko into linux-modules
  * Fix AMD brightness issue on AUO panel (LP: #2054773)
    - drm/amdgpu: make damage clips support configurable
  * Mantic update: upstream stable patchset 2024-02-28 (LP: #2055199)
    - f2fs: explicitly null-terminate the xattr list
    - pinctrl: lochnagar: Don't build on MI...

Changed in linux-aws (Ubuntu Mantic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-aws - 5.15.0-1057.63

---------------
linux-aws (5.15.0-1057.63) jammy; urgency=medium

  * Packaging resync (LP: #1786013)
    - debian.aws/dkms-versions -- update from kernel-versions (main/2024.03.04)

 -- Philip Cox <email address hidden> Tue, 19 Mar 2024 12:10:59 -0400

Changed in linux-aws (Ubuntu Jammy):
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.