[Bionic] CPPC bug fixes

Bug #1796949 reported by Manoj Iyer
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
Unassigned

Bug Description

[Impact]
A number of CPPC related fixes from upstream needed for Cavium ThunderX2 systems.

[Fix]

58e1c03536c9 ACPI / CPPC: Fix invalid PCC channel status errors
b8b10bc2015c cpufreq: CPPC: Don't set transition_latency
d29abc836843 ACPI / CPPC: Update all pr_(debug/err) messages to log the susbspace id

[Test]
A test kernel is available in ppa:yarmouth-team/cppc-tx2. This kernel was successfully tested on a CN99XX system.

[Regression Potential]
The cppcontrol feature needs to be explicitly enabled in firmware (default is disabled) for these patches to be in effect. Risk of regression is low.

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1796949

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: bionic
Manoj Iyer (manjo)
description: updated
description: updated
Revision history for this message
Manoj Iyer (manjo) wrote :

No regression were found booting the Bionic kernel with the patches applied.

== Enable CPPC control in firmware ==
CAVM_CN99xx# env set cppccontrol 1

== With stock bionic ==
ubuntu@starbuck:~$ uname -a
Linux starbuck 4.15.0-36-generic #39-Ubuntu SMP Wed Sep 26 06:05:44 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux

ubuntu@starbuck:~$ ls -lR /sys/devices/system/cpu/cpu1/acpi_cppc/
/sys/devices/system/cpu/cpu1/acpi_cppc/:
total 0
-r--r--r-- 1 root root 4096 Oct 10 20:02 feedback_ctrs
-r--r--r-- 1 root root 4096 Oct 10 20:02 highest_perf
-r--r--r-- 1 root root 4096 Oct 10 20:02 lowest_nonlinear_perf
-r--r--r-- 1 root root 4096 Oct 10 20:02 lowest_perf
-r--r--r-- 1 root root 4096 Oct 10 20:02 nominal_perf
-r--r--r-- 1 root root 4096 Oct 10 20:02 reference_perf
-r--r--r-- 1 root root 4096 Oct 10 20:02 wraparound_time
ubuntu@starbuck:~$

== Bionic kernel with patches. ==

ubuntu@starbuck:~$ uname -a
Linux starbuck 4.15.0-37-generic #40~lp1796918+build.1 SMP Tue Oct 9 15:52:06 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
ubuntu@starbuck:~$

ubuntu@starbuck:~$ ls -lR /sys/devices/system/cpu/cpu1/acpi_cppc/
/sys/devices/system/cpu/cpu1/acpi_cppc/:
total 0
-r--r--r-- 1 root root 4096 Oct 10 20:14 feedback_ctrs
-r--r--r-- 1 root root 4096 Oct 10 20:14 highest_perf
-r--r--r-- 1 root root 4096 Oct 10 20:14 lowest_freq
-r--r--r-- 1 root root 4096 Oct 10 20:14 lowest_nonlinear_perf
-r--r--r-- 1 root root 4096 Oct 10 20:14 lowest_perf
-r--r--r-- 1 root root 4096 Oct 10 20:14 nominal_freq
-r--r--r-- 1 root root 4096 Oct 10 20:14 nominal_perf
-r--r--r-- 1 root root 4096 Oct 10 20:14 reference_perf
-r--r--r-- 1 root root 4096 Oct 10 20:14 wraparound_time
ubuntu@starbuck:~$

ubuntu@starbuck:~$ cat /sys/devices/system/cpu/cpu1/acpi_cppc/highest_perf
2500000
ubuntu@starbuck:~$

ubuntu@starbuck:~$ cat /sys/devices/system/cpu/cpu1/acpi_cppc/lowest_perf
1000000
ubuntu@starbuck:~$

ubuntu@starbuck:~$ cat /sys/devices/system/cpu/cpu1/acpi_cppc/feedback_ctrs
ref:1306246528 del:4074430338
ubuntu@starbuck:~$

Manoj Iyer (manjo)
description: updated
Manoj Iyer (manjo)
description: updated
Revision history for this message
Manoj Iyer (manjo) wrote :

Built kernel with patches that fix CPPC issues, and re-run the test.

== Enable CPPC control in firmware ==

CAVM_CN99xx# env set cppccontrol 1

== Bionic kernel with patches ==

ubuntu@starbuck:~$ uname -a
Linux starbuck 4.15.0-38-generic #41~lp1796949+build.1 SMP Tue Oct 16 17:06:56 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
ubuntu@starbuck:~$ ls -lR /sys/devices/system/cpu/cpu1/acpi_cppc/
/sys/devices/system/cpu/cpu1/acpi_cppc/:
total 0
-r--r--r-- 1 root root 4096 Oct 16 18:45 feedback_ctrs
-r--r--r-- 1 root root 4096 Oct 16 18:45 highest_perf
-r--r--r-- 1 root root 4096 Oct 16 18:45 lowest_nonlinear_perf
-r--r--r-- 1 root root 4096 Oct 16 18:45 lowest_perf
-r--r--r-- 1 root root 4096 Oct 16 18:45 nominal_perf
-r--r--r-- 1 root root 4096 Oct 16 18:45 reference_perf
-r--r--r-- 1 root root 4096 Oct 16 18:45 wraparound_time
ubuntu@starbuck:~$ cat /sys/devices/system/cpu/cpu1/acpi_cppc/highest_perf
2500000
ubuntu@starbuck:~$ cat /sys/devices/system/cpu/cpu1/acpi_cppc/lowest_perf
1000000
ubuntu@starbuck:~$ cat /sys/devices/system/cpu/cpu1/acpi_cppc/feedback_ctrs
ref:2240139584 del:2315092606
ubuntu@starbuck:~$

Changed in linux (Ubuntu):
status: Incomplete → Invalid
Changed in linux (Ubuntu Bionic):
status: New → In Progress
Changed in linux (Ubuntu Bionic):
status: In Progress → Fix Committed
Revision history for this message
Brad Figg (brad-figg) 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-bionic' to 'verification-done-bionic'. If the problem still exists, change the tag 'verification-needed-bionic' to 'verification-failed-bionic'.

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-bionic
Revision history for this message
Manoj Iyer (manjo) wrote :

-- -proposed testing --

CAVM_CN99xx# env set cppccontrol 1
cppccontrol is enabled
Env Var cppccontrol set with Value 1
Execute 'env save' Command to make the changes persistent
CAVM_CN99xx# env save
drivername snor
snor_erase: off=0x3ff0000, len=0x10000

-----------------------------------
       ENV Variable Settings
-----------------------------------
Name : Value
-----------------------------------
turbo : 0
smt : 4
corefreq : 2199
numcores : 28
icispeed : 1
socnclk : 666
socsclk : 1199
memclk : 2199
ddrspeed_auto : 0
ddrspeed : 2400
progcpufreq : 1
progdevfreq : 1
dmc_node_channel_mask : 0000ffff
thermcontrol : 1
thermlimit : 105
enter_debug_shell : 0
dbg_speed_up_ddr_lvl : 0
enable_dram_scrub : 0
ipmbcontrol : 1
ddr_dmt_advanced : 0
cppccontrol : 1
loglevel : 0
uart_params : 115200/8-N-1 none
core_feature_mask : 32
sys_feature_mask : 0x00000000
ddr_refresh_rate : 1
fw_feature_mask : 0x00000000
dram_ce_threshold : 500
dram_ce_window : 60 sec
dram_ce_leak_rate : 1 msec/error
pcie_ce_threshold : 1
pcie_ce_window : 30 sec
pcie_ce_leak_rate : 15000 msec/error
-----------------------------------
CAVM_CN99xx#

ubuntu@helo:~$ ls -lR /sys/devices/system/cpu/cpu1/acpi_cppc/
/sys/devices/system/cpu/cpu1/acpi_cppc/:
total 0
-r--r--r-- 1 root root 4096 Oct 29 17:20 feedback_ctrs
-r--r--r-- 1 root root 4096 Oct 29 17:20 highest_perf
-r--r--r-- 1 root root 4096 Oct 29 17:20 lowest_nonlinear_perf
-r--r--r-- 1 root root 4096 Oct 29 17:20 lowest_perf
-r--r--r-- 1 root root 4096 Oct 29 17:20 nominal_perf
-r--r--r-- 1 root root 4096 Oct 29 17:20 reference_perf
-r--r--r-- 1 root root 4096 Oct 29 17:20 wraparound_time
ubuntu@helo:~$ cat /sys/devices/system/cpu/cpu1/acpi_cppc/highest_perf
2500000
ubuntu@helo:~$ cat /sys/devices/system/cpu/cpu1/acpi_cppc/lowest_perf
1000000
ubuntu@helo:~$ cat /sys/devices/system/cpu/cpu1/acpi_cppc/feedback_ctrs
ref:875323264 del:2186846934
ubuntu@helo:~$

tags: added: verification-done-bionic
removed: verification-needed-bionic
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.4 KiB)

This bug was fixed in the package linux - 4.15.0-39.42

---------------
linux (4.15.0-39.42) bionic; urgency=medium

  * linux: 4.15.0-39.42 -proposed tracker (LP: #1799411)

  * Linux: insufficient shootdown for paging-structure caches (LP: #1798897)
    - mm: move tlb_table_flush to tlb_flush_mmu_free
    - mm/tlb: Remove tlb_remove_table() non-concurrent condition
    - mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE
    - [Config] CONFIG_HAVE_RCU_TABLE_INVALIDATE=y

  * Ubuntu18.04: GPU total memory is reduced (LP: #1792102)
    - Revert "powerpc/powernv: Increase memory block size to 1GB on radix"

  * arm64: snapdragon: reduce boot noise (LP: #1797154)
    - [Config] arm64: snapdragon: DRM_MSM=m
    - [Config] arm64: snapdragon: SND*=m
    - [Config] arm64: snapdragon: disable ARM_SDE_INTERFACE
    - [Config] arm64: snapdragon: disable DRM_I2C_ADV7511_CEC
    - [Config] arm64: snapdragon: disable VIDEO_ADV7511, VIDEO_COBALT

  * [Bionic] CPPC bug fixes (LP: #1796949)
    - ACPI / CPPC: Update all pr_(debug/err) messages to log the susbspace id
    - cpufreq: CPPC: Don't set transition_latency
    - ACPI / CPPC: Fix invalid PCC channel status errors

  * regression in 'ip --family bridge neigh' since linux v4.12 (LP: #1796748)
    - rtnetlink: fix rtnl_fdb_dump() for ndmsg header

  * screen displays abnormally on the lenovo M715 with the AMD GPU (Radeon Vega
    8 Mobile, rev ca, 1002:15dd) (LP: #1796786)
    - drm/amd/display: Fix takover from VGA mode
    - drm/amd/display: early return if not in vga mode in disable_vga
    - drm/amd/display: Refine disable VGA

  * arm64: snapdragon: WARNING: CPU: 0 PID: 1 arch/arm64/kernel/setup.c:271
    reserve_memblock_reserved_regions (LP: #1797139)
    - SAUCE: arm64: Fix /proc/iomem for reserved but not memory regions

  * The front MIC can't work on the Lenovo M715 (LP: #1797292)
    - ALSA: hda/realtek - Fix the problem of the front MIC on the Lenovo M715

  * Keyboard backlight sysfs sometimes is missing on Dell laptops (LP: #1797304)
    - platform/x86: dell-smbios: Correct some style warnings
    - platform/x86: dell-smbios: Rename dell-smbios source to dell-smbios-base
    - platform/x86: dell-smbios: Link all dell-smbios-* modules together
    - [Config] CONFIG_DELL_SMBIOS_SMM=y, CONFIG_DELL_SMBIOS_WMI=y

  * rpi3b+: ethernet not working (LP: #1797406)
    - lan78xx: Don't reset the interface on open

  * 87cdf3148b11 was never backported to 4.15 (LP: #1795653)
    - xfrm: Verify MAC header exists before overwriting eth_hdr(skb)->h_proto

  * [Ubuntu18.04][Power9][DD2.2]package installation segfaults inside debian
    chroot env in P9 KVM guest with HTM enabled (kvm) (LP: #1792501)
    - KVM: PPC: Book3S HV: Fix guest r11 corruption with POWER9 TM workarounds

  * Provide mode where all vCPUs on a core must be the same VM (LP: #1792957)
    - KVM: PPC: Book3S HV: Provide mode where all vCPUs on a core must be the same
      VM

  * fscache: bad refcounting in fscache_op_complete leads to OOPS (LP: #1797314)
    - SAUCE: fscache: Fix race in decrementing refcount of op->npages

  * CVE-2018-9363
    - Bluetooth: hidp: buffer overflow in hidp_process_report

  * CVE-20...

Read more...

Changed in linux (Ubuntu Bionic):
status: Fix Committed → Fix Released
Brad Figg (brad-figg)
tags: added: cscc
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers