Enable ASPM for NVMe behind VMD

Bug #2034504 reported by Kai-Heng Feng
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OEM Priority Project
New
Undecided
Unassigned
linux (Ubuntu)
Status tracked in Mantic
Jammy
New
Undecided
Unassigned
Lunar
Fix Committed
Low
Unassigned
Mantic
Fix Released
Low
Unassigned
linux-oem-6.1 (Ubuntu)
Status tracked in Mantic
Jammy
Fix Released
Low
Unassigned
Lunar
Invalid
Undecided
Unassigned
Mantic
Invalid
Undecided
Unassigned
linux-oem-6.5 (Ubuntu)
Status tracked in Mantic
Jammy
Fix Released
Low
Unassigned
Lunar
Invalid
Undecided
Unassigned
Mantic
Invalid
Undecided
Unassigned

Bug Description

[Impact]
ASPM of NVMe behind VMD is not enabled when BIOS FADT doesn't allow ASPM to be modified.
That causes higher overall power consumption.

[Fix]
Allow ASPM to be enabled.
While at this, remove old cruft that can interfere upstream VMD driver.

[Test]
Check the value of `/sys/kernel/debug/pmc_core/slp_s0_residency_usec`. Now system can reach deepest power saving state during sleep.

[Where problems could occur]
Some NVMe may have I/O issue when ASPM is enabled. But for this scenario the issue will also appear when VMD is disabled.

CVE References

Changed in linux (Ubuntu Lunar):
status: New → Confirmed
Changed in linux (Ubuntu Mantic):
status: New → Confirmed
Changed in linux (Ubuntu Lunar):
importance: Undecided → Low
Changed in linux (Ubuntu Mantic):
importance: Undecided → Low
Changed in linux-oem-6.1 (Ubuntu Jammy):
status: New → Confirmed
Changed in linux-oem-6.1 (Ubuntu Lunar):
status: New → Invalid
Changed in linux-oem-6.1 (Ubuntu Mantic):
status: New → Invalid
Changed in linux-oem-6.1 (Ubuntu Jammy):
importance: Undecided → Low
Changed in linux-oem-6.5 (Ubuntu Jammy):
importance: Undecided → Low
status: New → Confirmed
Changed in linux-oem-6.5 (Ubuntu Lunar):
status: New → Invalid
Changed in linux-oem-6.5 (Ubuntu Mantic):
status: New → Invalid
tags: added: oem-priority originate-from-2033330 somerville
tags: added: originate-from-2032928
Timo Aaltonen (tjaalton)
Changed in linux-oem-6.1 (Ubuntu Jammy):
status: Confirmed → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-6.1/6.1.0-1023.23 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-oem-6.1' to 'verification-done-jammy-linux-oem-6.1'. If the problem still exists, change the tag 'verification-needed-jammy-linux-oem-6.1' to 'verification-failed-jammy-linux-oem-6.1'.

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-oem-6.1-v2 verification-needed-jammy-linux-oem-6.1
tags: added: verification-done-jammy-linux-oem-6.1
removed: verification-needed-jammy-linux-oem-6.1
Timo Aaltonen (tjaalton)
Changed in linux-oem-6.5 (Ubuntu Jammy):
status: Confirmed → Fix Committed
Changed in linux (Ubuntu Lunar):
status: Confirmed → Fix Committed
Changed in linux (Ubuntu Mantic):
status: Confirmed → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (62.8 KiB)

This bug was fixed in the package linux-oem-6.5 - 6.5.0-1004.4

---------------
linux-oem-6.5 (6.5.0-1004.4) jammy; urgency=medium

  * jammy/linux-oem-6.5: 6.5.0-1004.4 -proposed tracker (LP: #2036238)

  * Infiniate systemd loop when power off the machine with multiple MD RAIDs
    (LP: #2036184)
    - SAUCE: md: do not _put wrong device in md_seq_next

  * dell-uart-backlight fails to communicate with the scalar IC somtimes.
    (LP: #2035299)
    - SAUCE: platform/x86: dell-uart-backlight: add small delay after write
      command

  [ Ubuntu: 6.5.0-6.6 ]

  * mantic/linux: 6.5.0-6.6 -proposed tracker (LP: #2035595)
  * Mantic update: v6.5.3 upstream stable release (LP: #2035588)
    - drm/amd/display: ensure async flips are only accepted for fast updates
    - cpufreq: intel_pstate: set stale CPU frequency to minimum
    - tpm: Enable hwrng only for Pluton on AMD CPUs
    - Input: i8042 - add quirk for TUXEDO Gemini 17 Gen1/Clevo PD70PN
    - Revert "fuse: in fuse_flush only wait if someone wants the return code"
    - Revert "f2fs: clean up w/ sbi->log_sectors_per_block"
    - Revert "PCI: tegra194: Enable support for 256 Byte payload"
    - Revert "net: macsec: preserve ingress frame ordering"
    - reiserfs: Check the return value from __getblk()
    - splice: always fsnotify_access(in), fsnotify_modify(out) on success
    - splice: fsnotify_access(fd)/fsnotify_modify(fd) in vmsplice
    - splice: fsnotify_access(in), fsnotify_modify(out) on success in tee
    - eventfd: prevent underflow for eventfd semaphores
    - fs: Fix error checking for d_hash_and_lookup()
    - iomap: Remove large folio handling in iomap_invalidate_folio()
    - tmpfs: verify {g,u}id mount options correctly
    - selftests/harness: Actually report SKIP for signal tests
    - vfs, security: Fix automount superblock LSM init problem, preventing NFS sb
      sharing
    - ARM: ptrace: Restore syscall restart tracing
    - ARM: ptrace: Restore syscall skipping for tracers
    - btrfs: zoned: skip splitting and logical rewriting on pre-alloc write
    - erofs: release ztailpacking pclusters properly
    - locking/arch: Avoid variable shadowing in local_try_cmpxchg()
    - refscale: Fix uninitalized use of wait_queue_head_t
    - clocksource: Handle negative skews in "skew is too large" messages
    - powercap: arm_scmi: Remove recursion while parsing zones
    - OPP: Fix potential null ptr dereference in dev_pm_opp_get_required_pstate()
    - OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd()
    - selftests/resctrl: Add resctrl.h into build deps
    - selftests/resctrl: Don't leak buffer in fill_cache()
    - selftests/resctrl: Unmount resctrl FS if child fails to run benchmark
    - selftests/resctrl: Close perf value read fd on errors
    - sched/fair: remove util_est boosting
    - arm64/ptrace: Clean up error handling path in sve_set_common()
    - sched/psi: Select KERNFS as needed
    - cpuidle: teo: Update idle duration estimate when choosing shallower state
    - x86/decompressor: Don't rely on upper 32 bits of GPRs being preserved
    - arm64/fpsimd: Only provide the length to cpufeature for xCR registers
    - sched/rt: Fix sysctl_sched_rr_timeslice in...

Changed in linux-oem-6.5 (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (60.3 KiB)

This bug was fixed in the package linux-oem-6.1 - 6.1.0-1023.23

---------------
linux-oem-6.1 (6.1.0-1023.23) jammy; urgency=medium

  * jammy/linux-oem-6.1: 6.1.0-1023.23 -proposed tracker (LP: #2033827)

  * Jammy update: v6.1.53 upstream stable release (LP: #2035359)
    - Revert "bridge: Add extack warning when enabling STP in netns."
    - Partially revert "drm/amd/display: Fix possible underflow for displays with
      large vblank"
    - scsi: ufs: Try harder to change the power mode
    - Revert "Revert drm/amd/display: Enable Freesync Video Mode by default"
    - ARM: dts: imx: Set default tuning step for imx7d usdhc
    - powerpc/boot: Disable power10 features after BOOTAFLAGS assignment
    - media: uapi: HEVC: Add num_delta_pocs_of_ref_rps_idx field
    - Revert "MIPS: unhide PATA_PLATFORM"
    - phy: qcom-snps-femto-v2: use qcom_snps_hsphy_suspend/resume error code
    - media: amphion: use dev_err_probe
    - media: pulse8-cec: handle possible ping error
    - media: pci: cx23885: fix error handling for cx23885 ATSC boards
    - 9p: virtio: fix unlikely null pointer deref in handle_rerror
    - 9p: virtio: make sure 'offs' is initialized in zc_request
    - ksmbd: fix out of bounds in smb3_decrypt_req()
    - ksmbd: validate session id and tree id in compound request
    - ksmbd: no response from compound read
    - ksmbd: fix out of bounds in init_smb2_rsp_hdr()
    - ASoC: da7219: Flush pending AAD IRQ when suspending
    - ASoC: da7219: Check for failure reading AAD IRQ events
    - ASoC: nau8821: Add DMI quirk mechanism for active-high jack-detect
    - ethernet: atheros: fix return value check in atl1c_tso_csum()
    - m68k: Fix invalid .section syntax
    - s390/dasd: use correct number of retries for ERP requests
    - s390/dasd: fix hanging device after request requeue
    - fs/nls: make load_nls() take a const parameter
    - ASoC: rt5682-sdw: fix for JD event handling in ClockStop Mode0
    - ASoc: codecs: ES8316: Fix DMIC config
    - ASoC: rt711: fix for JD event handling in ClockStop Mode0
    - ASoC: rt711-sdca: fix for JD event handling in ClockStop Mode0
    - ASoC: atmel: Fix the 8K sample parameter in I2SC master
    - ALSA: usb-audio: Add quirk for Microsoft Modern Wireless Headset
    - platform/x86: intel: hid: Always call BTNL ACPI method
    - platform/x86/intel/hid: Add HP Dragonfly G2 to VGBS DMI quirks
    - platform/x86: think-lmi: Use kfree_sensitive instead of kfree
    - platform/x86: asus-wmi: Fix setting RGB mode on some TUF laptops
    - platform/x86: huawei-wmi: Silence ambient light sensor
    - drm/amd/smu: use AverageGfxclkFrequency* to replace previous GFX Curr Clock
    - drm/amd/display: Guard DCN31 PHYD32CLK logic against chip family
    - drm/amd/display: Exit idle optimizations before attempt to access PHY
    - ovl: Always reevaluate the file signature for IMA
    - ata: pata_arasan_cf: Use dev_err_probe() instead dev_err() in data_xfer()
    - ALSA: usb-audio: Update for native DSD support quirks
    - staging: fbtft: ili9341: use macro FBTFT_REGISTER_SPI_DRIVER
    - security: keys: perform capable check only on privileged operations
    - kprobes: Prohibit probing on CFI preamble s...

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

This bug was fixed in the package linux - 6.5.0-7.7

---------------
linux (6.5.0-7.7) mantic; urgency=medium

  * mantic/linux: 6.5.0-7.7 -proposed tracker (LP: #2037611)

  * kexec enable to load/kdump zstd compressed zimg (LP: #2037398)
    - [Packaging] Revert arm64 image format to Image.gz

  * Mantic minimized/minimal cloud images do not receive IP address during
    provisioning (LP: #2036968)
    - [Config] Enable virtio-net as built-in to avoid race

  * Miscellaneous Ubuntu changes
    - SAUCE: Add mdev_set_iommu_device() kABI
    - [Config] update gcc version in annotations

 -- Andrea Righi <email address hidden> Thu, 28 Sep 2023 10:19:24 +0200

Changed in linux (Ubuntu Mantic):
status: Fix Committed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

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

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-lunar-linux-v2 verification-needed-lunar-linux
tags: added: verification-done-lunar-linux
removed: verification-needed-lunar-linux
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.