2022-04-26 13:49:02

by kernel test robot

[permalink] [raw]
Subject: [x86/aperfmperf] adabc53c25: WARNING:at_arch/x86/kernel/cpu/aperfmperf.c:#freq_invariance_enable



Greeting,

FYI, we noticed the following commit (built with gcc-11):

commit: adabc53c25c8e2fc0a709b42a86a929940213331 ("x86/aperfmperf: Untangle Intel and AMD frequency invariance init")
https://github.com/ammarfaizi2/linux-block tglx/devel/x86/amperf

in testcase: will-it-scale
version: will-it-scale-x86_64-a34a85c-1_20220413
with following parameters:

nr_task: 50%
mode: thread
test: futex3
cpufreq_governor: performance
ucode: 0x2006c0a

test-description: Will It Scale takes a testcase and runs it from 1 through to n parallel copies to see if the testcase will scale. It builds both a process and threads based test in order to see any differences between the two.
test-url: https://github.com/antonblanchard/will-it-scale


on test machine: 104 threads 2 sockets Skylake with 192G memory

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):



If you fix the issue, kindly add following tag
Reported-by: kernel test robot <[email protected]>


[ 11.086251][ T1] WARNING: CPU: 4 PID: 1 at arch/x86/kernel/cpu/aperfmperf.c:431 freq_invariance_enable (arch/x86/kernel/cpu/aperfmperf.c:431)
[ 11.096671][ T1] Modules linked in:
[ 11.100412][ T1] CPU: 4 PID: 1 Comm: swapper/0 Not tainted 5.18.0-rc3-00004-gadabc53c25c8 #1
[ 11.109084][ T1] RIP: 0010:freq_invariance_enable (arch/x86/kernel/cpu/aperfmperf.c:431)
[ 11.114905][ T1] Code: c7 c7 b0 e1 53 83 e8 ed 1f 28 00 48 c7 c7 a0 3a 82 82 e8 61 71 79 00 48 8b 35 62 de 7e 01 48 c7 c7 f0 73 53 82 e9 fb 68 c7 00 <0f> 0b c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 c7 c7
All code
========
0: c7 c7 b0 e1 53 83 mov $0x8353e1b0,%edi
6: e8 ed 1f 28 00 callq 0x281ff8
b: 48 c7 c7 a0 3a 82 82 mov $0xffffffff82823aa0,%rdi
12: e8 61 71 79 00 callq 0x797178
17: 48 8b 35 62 de 7e 01 mov 0x17ede62(%rip),%rsi # 0x17ede80
1e: 48 c7 c7 f0 73 53 82 mov $0xffffffff825373f0,%rdi
25: e9 fb 68 c7 00 jmpq 0xc76925
2a:* 0f 0b ud2 <-- trapping instruction
2c: c3 retq
2d: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
34: 00 00 00 00
38: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
3d: 48 rex.W
3e: c7 .byte 0xc7
3f: c7 .byte 0xc7

Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: c3 retq
3: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
a: 00 00 00 00
e: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
13: 48 rex.W
14: c7 .byte 0xc7
15: c7 .byte 0xc7
[ 11.134298][ T1] RSP: 0000:ffffc9000006fc20 EFLAGS: 00010246
[ 11.140204][ T1] RAX: 0000000000000400 RBX: 00000000000293a0 RCX: 0000000000000015
[ 11.148013][ T1] RDX: 0000000000000006 RSI: 0000000000000000 RDI: 0000000000001a49
[ 11.155818][ T1] RBP: ffff888107299000 R08: 7fffffffffffffff R09: ffff8897e052bfa8
[ 11.163625][ T1] R10: 000000000000003c R11: 0000000000000016 R12: ffff888109818400
[ 11.171435][ T1] R13: 0000000000000000 R14: ffff8881072992e0 R15: ffff88810729b800
[ 11.179245][ T1] FS: 0000000000000000(0000) GS:ffff8897e0500000(0000) knlGS:0000000000000000
[ 11.188001][ T1] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 11.194425][ T1] CR2: 0000000000000000 CR3: 000000303ec0a001 CR4: 00000000007706e0
[ 11.202234][ T1] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 11.210040][ T1] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 11.217846][ T1] PKRU: 55555554
[ 11.221247][ T1] Call Trace:
[ 11.224384][ T1] <TASK>
[ 11.227178][ T1] init_freq_invariance_cppc (arch/x86/kernel/acpi/cppc.c:82 arch/x86/kernel/acpi/cppc.c:96)
[ 11.232574][ T1] acpi_cppc_processor_probe (drivers/acpi/cppc_acpi.c:832)
[ 11.238053][ T1] __acpi_processor_start (drivers/acpi/processor_driver.c:229)
[ 11.243181][ T1] acpi_processor_start (drivers/acpi/processor_driver.c:259)
[ 11.248048][ T1] really_probe (drivers/base/dd.c:542 drivers/base/dd.c:621)
[ 11.252399][ T1] __driver_probe_device (drivers/base/dd.c:752)
[ 11.257440][ T1] driver_probe_device (drivers/base/dd.c:782)
[ 11.262218][ T1] __driver_attach (drivers/base/dd.c:1142)
[ 11.266743][ T1] ? __device_attach_driver (drivers/base/dd.c:1094)
[ 11.272131][ T1] ? __device_attach_driver (drivers/base/dd.c:1094)
[ 11.277517][ T1] bus_for_each_dev (drivers/base/bus.c:301)
[ 11.282047][ T1] bus_add_driver (drivers/base/bus.c:619)
[ 11.286570][ T1] driver_register (drivers/base/driver.c:171)
[ 11.291092][ T1] ? acpi_pci_slot_init (drivers/acpi/processor_driver.c:316)
[ 11.295966][ T1] acpi_processor_driver_init (drivers/acpi/processor_driver.c:322)
[ 11.301355][ T1] do_one_initcall (init/main.c:1298)
[ 11.305876][ T1] do_initcalls (init/main.c:1370 init/main.c:1387)
[ 11.310055][ T1] kernel_init_freeable (init/main.c:1617)
[ 11.315093][ T1] ? rest_init (init/main.c:1494)
[ 11.319362][ T1] kernel_init (init/main.c:1504)
[ 11.323539][ T1] ret_from_fork (arch/x86/entry/entry_64.S:304)
[ 11.327804][ T1] </TASK>
[ 11.330681][ T1] ---[ end trace 0000000000000000 ]---
[ 11.430324][ T1] ERST: Error Record Serialization Table (ERST) support is initialized.
[ 11.438487][ T1] pstore: Registered erst as persistent store backend
[ 11.445262][ T1] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 11.452404][ T1] 00:02: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 11.460579][ T1] 00:03: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
[ 11.469131][ T1] Non-volatile memory driver v1.3
[ 11.486655][ T642] lpc_ich 0000:00:1f.0: I/O space for ACPI uninitialized
[ 11.493519][ T642] lpc_ich 0000:00:1f.0: No MFD cells added
[ 11.499484][ T1] rdac: device handler registered
[ 11.504512][ T1] hp_sw: device handler registered
[ 11.509469][ T1] emc: device handler registered
[ 11.514433][ T1] alua: device handler registered
[ 11.519453][ T1] e1000: Intel(R) PRO/1000 Network Driver
[ 11.525016][ T1] e1000: Copyright (c) 1999-2006 Intel Corporation.
[ 11.531474][ T1] e1000e: Intel(R) PRO/1000 Network Driver
[ 11.537119][ T1] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 11.543775][ T1] igb: Intel(R) Gigabit Ethernet Network Driver
[ 11.549855][ T1] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 11.556300][ T683] IOAPIC[7]: Preconfigured routing entry (17-0 -> IRQ 36 Level:1 ActiveLow:1)
[ 11.593261][ T683] pps pps0: new PPS source ptp0
[ 11.598038][ T683] igb 0000:81:00.0: added PHC on eth0
[ 11.603257][ T683] igb 0000:81:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 11.610802][ T683] igb 0000:81:00.0: eth0: (PCIe:2.5Gb/s:Width x1) a0:36:9f:5c:aa:24
[ 11.618750][ T683] igb 0000:81:00.0: eth0: PBA No: G69016-003
[ 11.624566][ T683] igb 0000:81:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[ 11.632922][ T1] Intel(R) 2.5G Ethernet Linux Driver
[ 11.638146][ T1] Copyright(c) 2018 Intel Corporation.
[ 11.643473][ T1] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver
[ 11.650246][ T1] ixgbe: Copyright (c) 1999-2016 Intel Corporation.
[ 11.656865][ T1] i40e: Intel(R) Ethernet Connection XL710 Network Driver
[ 11.663807][ T1] i40e: Copyright (c) 2013 - 2019 Intel Corporation.
[ 11.670586][ T642] IOAPIC[3]: Preconfigured routing entry (11-6 -> IRQ 42 Level:1 ActiveLow:1)
[ 11.693027][ T642] i40e 0000:2f:00.0: fw 3.1.55727 api 1.5 nvm 3.31 0x80000d2e 1.1767.0 [8086:37d3] [8086:35d0]
[ 11.707485][ T642] i40e 0000:2f:00.0: MAC address: 00:00:00:00:03:14
[ 11.721220][ T642] i40e 0000:2f:00.0: Added LAN device PF0 bus=0x2f dev=0x00 func=0x00
[ 11.729981][ T642] i40e 0000:2f:00.0: Features: PF-id[0] VFs: 32 VSIs: 66 QP: 94 RSS FD_ATR FD_SB NTUPLE VxLAN Geneve PTP VEPA
[ 11.756944][ T642] i40e 0000:2f:00.1: fw 3.1.55727 api 1.5 nvm 3.31 0x80000d2e 1.1767.0 [8086:37d3] [8086:35d0]
[ 11.771104][ T642] i40e 0000:2f:00.1: MAC address: 00:00:00:00:03:15
[ 11.784203][ T642] i40e 0000:2f:00.1: Added LAN device PF1 bus=0x2f dev=0x00 func=0x01
[ 11.792978][ T642] i40e 0000:2f:00.1: Features: PF-id[1] VFs: 32 VSIs: 66 QP: 94 RSS FD_ATR FD_SB NTUPLE VxLAN Geneve PTP VEPA
[ 11.804548][ T1] usbcore: registered new interface driver r8152
[ 11.810729][ T1] usbcore: registered new interface driver asix
[ 11.816816][ T1] usbcore: registered new interface driver ax88179_178a
[ 11.823682][ T1] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 11.830886][ T1] ehci-pci: EHCI PCI platform driver
[ 11.836036][ T1] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 11.837698][ T709] tsc: Refined TSC clocksource calibration: 2095.075 MHz
[ 11.842894][ T1] ohci-pci: OHCI PCI platform driver
[ 11.842918][ T1] uhci_hcd: USB Universal Host Controller Interface driver
[ 11.849828][ T709] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x1e33040dae1, max_idle_ns: 440795247815 ns
[ 11.855008][ T642] IOAPIC[0]: Preconfigured routing entry (8-16 -> IRQ 16 Level:1 ActiveLow:1)
[ 11.881300][ T709] clocksource: Switched to clocksource tsc
[ 11.881368][ T642] xhci_hcd 0000:00:14.0: xHCI Host Controller
[ 11.892968][ T642] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
[ 11.902152][ T642] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0000000000009810
[ 11.912144][ T642] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.18
[ 11.921099][ T642] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 11.929010][ T642] usb usb1: Product: xHCI Host Controller
[ 11.934582][ T642] usb usb1: Manufacturer: Linux 5.18.0-rc3-00004-gadabc53c25c8 xhci-hcd
[ 11.942756][ T642] usb usb1: SerialNumber: 0000:00:14.0
[ 11.948208][ T642] hub 1-0:1.0: USB hub found
[ 11.952677][ T642] hub 1-0:1.0: 16 ports detected
[ 11.958378][ T642] xhci_hcd 0000:00:14.0: xHCI Host Controller
[ 11.964325][ T642] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
[ 11.972413][ T642] xhci_hcd 0000:00:14.0: Host supports USB 3.0 SuperSpeed
[ 11.979392][ T642] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.18
[ 11.988351][ T642] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 11.996278][ T642] usb usb2: Product: xHCI Host Controller
[ 12.001853][ T642] usb usb2: Manufacturer: Linux 5.18.0-rc3-00004-gadabc53c25c8 xhci-hcd
[ 12.010025][ T642] usb usb2: SerialNumber: 0000:00:14.0
[ 12.015460][ T642] hub 2-0:1.0: USB hub found
[ 12.019921][ T642] hub 2-0:1.0: 10 ports detected
[ 12.025045][ T642] usb: port power management may be unreliable
[ 12.031259][ T1] i8042: PNP: No PS/2 controller found.
[ 12.036768][ T1] mousedev: PS/2 mouse device common for all mice
[ 12.043091][ T1] rtc_cmos 00:00: RTC can wake from S4
[ 12.048816][ T1] rtc_cmos 00:00: registered as rtc0
[ 12.054047][ T1] rtc_cmos 00:00: setting system clock to 2017-11-22T15:43:05 UTC (1511365385)
[ 12.062842][ T1] rtc_cmos 00:00: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
[ 12.071336][ T642] i801_smbus 0000:00:1f.4: SPD Write Disable is set
[ 12.077815][ T642] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt
[ 12.093020][ T1] iTCO_wdt iTCO_wdt: unable to reset NO_REBOOT flag, device disabled by hardware/BIOS


To reproduce:

git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
sudo bin/lkp install job.yaml # job file is attached in this email
bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run
sudo bin/lkp run generated-yaml-file

# if come across any failure that blocks the test,
# please remove ~/.lkp and /lkp dir to run from a clean state.



--
0-DAY CI Kernel Test Service
https://01.org/lkp



Attachments:
(No filename) (12.12 kB)
config-5.18.0-rc3-00004-gadabc53c25c8 (165.11 kB)
job-script (7.73 kB)
dmesg.xz (36.36 kB)
will-it-scale (221.00 B)
job.yaml (5.23 kB)
reproduce (355.00 B)
Download all attachments

2022-04-27 15:20:05

by Thomas Gleixner

[permalink] [raw]
Subject: Re: [x86/aperfmperf] adabc53c25: WARNING:at_arch/x86/kernel/cpu/aperfmperf.c:#freq_invariance_enable

On Tue, Apr 26 2022 at 15:22, kernel test robot wrote:
> [ 11.086251][ T1] WARNING: CPU: 4 PID: 1 at arch/x86/kernel/cpu/aperfmperf.c:431 freq_invariance_enable (arch/x86/kernel/cpu/aperfmperf.c:431)
> [ 11.227178][ T1] init_freq_invariance_cppc (arch/x86/kernel/acpi/cppc.c:82 arch/x86/kernel/acpi/cppc.c:96)
> [ 11.232574][ T1] acpi_cppc_processor_probe (drivers/acpi/cppc_acpi.c:832)

Bah, the commit in question assumed that the CPPC muck is AMD only....

Fix below.

Thanks,

tglx
---
--- a/arch/x86/kernel/acpi/cppc.c
+++ b/arch/x86/kernel/acpi/cppc.c
@@ -91,6 +91,9 @@ void init_freq_invariance_cppc(void)
if (!cpu_feature_enabled(X86_FEATURE_APERFMPERF))
return;

+ if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD)
+ return;
+
mutex_lock(&freq_invariance_lock);
if (!init_done)
amd_set_max_freq_ratio();