Speed up the process of s3 resume

Bug #1876844 reported by koba
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Invalid
Undecided
Unassigned
Focal
Invalid
Undecided
Unassigned
linux-oem-5.6 (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Invalid
Undecided
Unassigned
Focal
Fix Released
Undecided
koba
linux-oem-osp1 (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
koba
Focal
Invalid
Undecided
Unassigned

Bug Description

[Impact]
Process of s3 resume take 7s and it's too long which is over 5s.

[Fix]
Instead of using the supported speeds to determine whether to wait for Link training, check whether the port supports DLL Link Active reporting. The ports in question do not, so we'll wait only the 100 ms required for Ports that support Link speeds <= 5 GT/s.

This of course assumes these Ports always train the Link within 100 ms even if they are operating at > 5 GT/s, which is not required by the spec.

[test]
With the patch, the total time s3 resume is 4454.244 ms which is smaller than 5s.

[Regression Potential]
Low. Follow the PCI spec to check whether the device supports DLL Link Active reporting, then choose the time of delay.

CVE References

koba (kobako)
Changed in linux (Ubuntu):
status: New → In Progress
affects: linux-oem (Ubuntu) → linux-oem-osp1 (Ubuntu)
Changed in linux-oem-osp1 (Ubuntu):
assignee: nobody → koba (kobako)
status: New → In Progress
koba (kobako)
description: updated
koba (kobako)
description: updated
koba (kobako)
Changed in linux (Ubuntu):
status: In Progress → Won't Fix
assignee: nobody → koba (kobako)
status: Won't Fix → In Progress
koba (kobako)
tags: added: oem-priority originate-from-1875295 somerville
tags: added: originate-from-1864604
koba (kobako)
Changed in linux (Ubuntu Bionic):
assignee: nobody → koba (kobako)
Changed in linux-oem-osp1 (Ubuntu Bionic):
assignee: nobody → koba (kobako)
Changed in linux (Ubuntu Bionic):
status: New → In Progress
Changed in linux-oem-osp1 (Ubuntu Bionic):
status: New → In Progress
Changed in linux-oem-osp1 (Ubuntu):
status: In Progress → Invalid
Changed in linux (Ubuntu):
status: In Progress → Invalid
assignee: koba (kobako) → nobody
Changed in linux-oem-osp1 (Ubuntu):
assignee: koba (kobako) → nobody
koba (kobako)
Changed in linux-oem-5.6 (Ubuntu Focal):
assignee: nobody → koba (kobako)
status: New → In Progress
koba (kobako)
description: updated
Timo Aaltonen (tjaalton)
Changed in linux-oem-5.6 (Ubuntu Bionic):
status: New → Invalid
Changed in linux-oem-osp1 (Ubuntu Focal):
status: New → Invalid
koba (kobako)
description: updated
koba (kobako)
description: updated
AceLan Kao (acelankao)
Changed in linux-oem-osp1 (Ubuntu Bionic):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (24.7 KiB)

This bug was fixed in the package linux-oem-osp1 - 5.0.0-1059.64

---------------
linux-oem-osp1 (5.0.0-1059.64) bionic; urgency=medium

  [ Ubuntu: 5.0.0-52.56 ]

  * CVE-2020-0543
    - SAUCE: x86/cpu: Add a steppings field to struct x86_cpu_id
    - SAUCE: x86/cpu: Add 'table' argument to cpu_matches()
    - SAUCE: x86/speculation: Add Special Register Buffer Data Sampling (SRBDS)
      mitigation
    - SAUCE: x86/speculation: Add SRBDS vulnerability and mitigation documentation
    - SAUCE: x86/speculation: Add Ivy Bridge to affected list

linux-oem-osp1 (5.0.0-1054.59) bionic; urgency=medium

  * bionic/linux-oem-osp1: 5.0.0-1054.59 -proposed tracker (LP: #1881221)

  * Speed up the process of s3 resume (LP: #1876844)
    - PCI/PM: Adjust pcie_wait_for_link_delay() for caller delay
    - PCI/PM: Assume ports without DLL Link Active train links in 100 ms

linux-oem-osp1 (5.0.0-1053.58) bionic; urgency=medium

  * bionic/linux-oem-osp1: 5.0.0-1053.58 -proposed tracker (LP: #1878822)

  * rtl8723bu wifi issue after being turned off (LP: #1878296)
    - rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver
    - rtl8xxxu: add bluetooth co-existence support for single antenna
    - rtl8xxxu: remove set but not used variable 'rate_mask'
    - rtl8xxxu: Remove set but not used variable 'vif', 'dev', 'len'

  * Fix Pericom USB controller OHCI/EHCI PME# defect (LP: #1879321)
    - serial: 8250_pci: Move Pericom IDs to pci_ids.h
    - PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect

  * Don't register platform::micmute if the related tokens don't exist
    (LP: #1877275)
    - SAUCE: platform/x86: dell-laptop: don't register platform::micmute if the
      related tokens don't exist

  [ Ubuntu: 5.0.0-49.53 ]

  * disco/linux: 5.0.0-49.53 -proposed tracker (LP: #1878826)
  * Disco update: upstream stable patchset 2020-05-14 (LP: #1878681)
    - remoteproc: Fix wrong rvring index computation
    - mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer
    - binder: take read mode of mmap_sem in binder_alloc_free_page()
    - usb: dwc3: gadget: Do link recovery for SS and SSP
    - usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete
    - iio:ad7797: Use correct attribute_group
    - ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs
    - ASoC: tas571x: disable regulators on failed probe
    - ASoC: wm8960: Fix wrong clock after suspend & resume
    - nfsd: memory corruption in nfsd4_lock()
    - i2c: altera: use proper variable to hold errno
    - rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket
    - net/cxgb4: Check the return from t4_query_params properly
    - xfs: acquire superblock freeze protection on eofblocks scans
    - svcrdma: Fix trace point use-after-free race
    - svcrdma: Fix leak of svc_rdma_recv_ctxt objects
    - PCI: Avoid ASMedia XHCI USB PME# from D0 defect
    - PCI: Move Apex Edge TPU class quirk to fix BAR assignment
    - ARM: dts: bcm283x: Disable dsi0 node
    - cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled
    - net/mlx5: Fix failing fw tracer allocation on s390
    - perf/core: fix parent pid/tid in task exit events
    - bpf, x86_3...

Changed in linux-oem-osp1 (Ubuntu Bionic):
status: Fix Committed → Fix Released
Timo Aaltonen (tjaalton)
Changed in linux-oem-5.6 (Ubuntu Focal):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) 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-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

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-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (24.7 KiB)

This bug was fixed in the package linux-oem-osp1 - 5.0.0-1059.64

---------------
linux-oem-osp1 (5.0.0-1059.64) bionic; urgency=medium

  [ Ubuntu: 5.0.0-52.56 ]

  * CVE-2020-0543
    - SAUCE: x86/cpu: Add a steppings field to struct x86_cpu_id
    - SAUCE: x86/cpu: Add 'table' argument to cpu_matches()
    - SAUCE: x86/speculation: Add Special Register Buffer Data Sampling (SRBDS)
      mitigation
    - SAUCE: x86/speculation: Add SRBDS vulnerability and mitigation documentation
    - SAUCE: x86/speculation: Add Ivy Bridge to affected list

linux-oem-osp1 (5.0.0-1054.59) bionic; urgency=medium

  * bionic/linux-oem-osp1: 5.0.0-1054.59 -proposed tracker (LP: #1881221)

  * Speed up the process of s3 resume (LP: #1876844)
    - PCI/PM: Adjust pcie_wait_for_link_delay() for caller delay
    - PCI/PM: Assume ports without DLL Link Active train links in 100 ms

linux-oem-osp1 (5.0.0-1053.58) bionic; urgency=medium

  * bionic/linux-oem-osp1: 5.0.0-1053.58 -proposed tracker (LP: #1878822)

  * rtl8723bu wifi issue after being turned off (LP: #1878296)
    - rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver
    - rtl8xxxu: add bluetooth co-existence support for single antenna
    - rtl8xxxu: remove set but not used variable 'rate_mask'
    - rtl8xxxu: Remove set but not used variable 'vif', 'dev', 'len'

  * Fix Pericom USB controller OHCI/EHCI PME# defect (LP: #1879321)
    - serial: 8250_pci: Move Pericom IDs to pci_ids.h
    - PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect

  * Don't register platform::micmute if the related tokens don't exist
    (LP: #1877275)
    - SAUCE: platform/x86: dell-laptop: don't register platform::micmute if the
      related tokens don't exist

  [ Ubuntu: 5.0.0-49.53 ]

  * disco/linux: 5.0.0-49.53 -proposed tracker (LP: #1878826)
  * Disco update: upstream stable patchset 2020-05-14 (LP: #1878681)
    - remoteproc: Fix wrong rvring index computation
    - mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer
    - binder: take read mode of mmap_sem in binder_alloc_free_page()
    - usb: dwc3: gadget: Do link recovery for SS and SSP
    - usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete
    - iio:ad7797: Use correct attribute_group
    - ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs
    - ASoC: tas571x: disable regulators on failed probe
    - ASoC: wm8960: Fix wrong clock after suspend & resume
    - nfsd: memory corruption in nfsd4_lock()
    - i2c: altera: use proper variable to hold errno
    - rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket
    - net/cxgb4: Check the return from t4_query_params properly
    - xfs: acquire superblock freeze protection on eofblocks scans
    - svcrdma: Fix trace point use-after-free race
    - svcrdma: Fix leak of svc_rdma_recv_ctxt objects
    - PCI: Avoid ASMedia XHCI USB PME# from D0 defect
    - PCI: Move Apex Edge TPU class quirk to fix BAR assignment
    - ARM: dts: bcm283x: Disable dsi0 node
    - cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled
    - net/mlx5: Fix failing fw tracer allocation on s390
    - perf/core: fix parent pid/tid in task exit events
    - bpf, x86_3...

Changed in linux-oem-osp1 (Ubuntu):
status: Invalid → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (30.4 KiB)

This bug was fixed in the package linux-oem-5.6 - 5.6.0-1018.18

---------------
linux-oem-5.6 (5.6.0-1018.18) focal; urgency=medium

  * focal/linux-oem-5.6: 5.6.0-1018.18 -proposed tracker (LP: #1884496)

  * Focal update: v5.6.18 upstream stable release (LP: #1883304)
    - devinet: fix memleak in inetdev_init()
    - l2tp: add sk_family checks to l2tp_validate_socket
    - l2tp: do not use inet_hash()/inet_unhash()
    - net: check untrusted gso_size at kernel entry
    - net/mlx5: Fix crash upon suspend/resume
    - net: stmmac: enable timestamp snapshot for required PTP packets in dwmac
      v5.10a
    - net: usb: qmi_wwan: add Telit LE910C1-EUX composition
    - NFC: st21nfca: add missed kfree_skb() in an error path
    - nfp: flower: fix used time of merge flow statistics
    - sctp: check assoc before SCTP_ADDR_{MADE_PRIM, ADDED} event
    - virtio_vsock: Fix race condition in virtio_transport_recv_pkt
    - vsock: fix timeout in vsock_accept()
    - net: be more gentle about silly gso requests coming from user
    - net: dsa: felix: send VLANs on CPU port as egress-tagged
    - mptcp: fix unblocking connect()
    - net/sched: fix infinite loop in sch_fq_pie
    - net/mlx5e: replace EINVAL in mlx5e_flower_parse_meta()
    - USB: serial: qcserial: add DW5816e QDL support
    - USB: serial: usb_wwan: do not resubmit rx urb on fatal errors
    - USB: serial: option: add Telit LE910C1-EUX compositions
    - USB: serial: ch341: add basis for quirk detection
    - USB: serial: ch341: fix lockup of devices with limited prescaler
    - iio:chemical:sps30: Fix timestamp alignment
    - iio: vcnl4000: Fix i2c swapped word reading.
    - iio:chemical:pms7003: Fix timestamp alignment and prevent data leak.
    - iio: adc: stm32-adc: fix a wrong error message when probing interrupts
    - usb: musb: start session in resume for host port
    - usb: musb: Fix runtime PM imbalance on error
    - serial: 8250: Enable 16550A variants by default on non-x86
    - vt: keyboard: avoid signed integer overflow in k_ascii
    - tty: hvc_console, fix crashes on parallel open/close
    - staging: rtl8712: Fix IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK
    - CDC-ACM: heed quirk also in error handling
    - nvmem: qfprom: remove incorrect write support
    - x86/cpu: Add a steppings field to struct x86_cpu_id
    - x86/cpu: Add 'table' argument to cpu_matches()
    - x86/speculation: Add Special Register Buffer Data Sampling (SRBDS)
      mitigation
    - x86/speculation: Add SRBDS vulnerability and mitigation documentation
    - x86/speculation: Add Ivy Bridge to affected list
    - uprobes: ensure that uprobe->offset and ->ref_ctr_offset are properly
      aligned
    - Revert "net/mlx5: Annotate mutex destroy for root ns"
    - Linux 5.6.18

  * NULL pointer dereference in nvme reset work-queue when VMD raid mode and
    SecureBoot turned on simultaneously on TigerLake (LP: #1876707)
    - iommu: Use C99 flexible array in fwspec
    - iommu: Define dev_iommu_fwspec_get() for !CONFIG_IOMMU_API
    - ACPI/IORT: Remove direct access of dev->iommu_fwspec
    - drm/msm/mdp5: Remove direct access of dev->iommu_fwspec
    - iommu/tegra-gart: Remove direct access of dev->i...

Changed in linux-oem-5.6 (Ubuntu Focal):
status: Fix Committed → Fix Released
koba (kobako)
Changed in linux (Ubuntu Bionic):
assignee: koba (kobako) → nobody
status: In Progress → Invalid
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-5.6 - 5.6.0-1020.20

---------------
linux-oem-5.6 (5.6.0-1020.20) focal; urgency=medium

  * focal/linux-oem-5.6: 5.6.0-1020.20 -proposed tracker (LP: #1886753)

  * Realtek [10ec:c82f] Subsystem [17aa:c02f] Wifi adapter not found
    (LP: #1886247)
    - SAUCE: rtw88: 8822ce: add support for device ID 0xc82f

  * [WD19TB] external DP failed with DRM error message (LP: #1886165)
    - drm/i915/tgl: Update TC DP vswing table
    - drm/i915/tgl: Implement WA_16011163337
    - SAUCE: drm/i915/bios: add intel_bios_hdmi_level_shift()
    - drm/i915/tgl: Add HBR and HBR2+ voltage swing table
    - drm/i915/dc3co: Avoid full modeset when EXITLINE needs to be changed
    - drm/i915/tgl+: Use the correct DP_TP_* register instances in MST encoders
    - drm/i915/tgl+: Fix TBT DPLL fractional divider for 38.4MHz ref clock

  * ubuntu_aufs_smoke_test failed on Focal OEM 5.6 (LP: #1879308)
    - SAUCE: fs: Enable aufs

 -- Timo Aaltonen <email address hidden> Wed, 08 Jul 2020 11:44:53 +0300

Changed in linux-oem-5.6 (Ubuntu):
status: New → Fix Released
Timo Aaltonen (tjaalton)
Changed in linux (Ubuntu):
status: Invalid → Fix Released
Changed in linux (Ubuntu Focal):
status: New → Invalid
Changed in hwe-next:
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.