Bug #2781
closedDFly 4.0.3; PC Engines APU AMD T40E CPU; kernel panic when when setting machdep.mwait.CX.idle=AUTO
100%
Description
Hi,
I get a kernel panic when doing "sysctl machdep.mwait.CX.idle=AUTO" (AUTODEEP does not work):
- sysctl machdep.mwait.CX.idle=AUTO
machdep.mwait.CX.idle: INVALID
Fatal trap 12: page fault while in kernel mode
cpuid = 1; lapic->id = 01000000
fault virtual address = 0x3fffffff4
fault code = supervisor read data, page not present
instruction pointer = 0x8:0xffffffff809ccc6e
stack pointer = 0x10:0xffffffe02b458a80
frame pointer = 0x10:0xffffffe02b458ab0
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = Idle
current thread = pri 12
kernel: type 12 trap, code=0
CPU1 stopping CPUs: 0x00000001
stopped
Stopped at cpu_idle+0x19a: movl (%rdx,%rax,4),%edx
The CPU should support C1 and C6 (see http://www.cpu-world.com/CPUs/Bobcat/AMD-G%20Series%20G-T40E%20-%20GET40EFQB22GVE.html).
BIOS is "Build 9/8/2014".
/boot/loader.conf:
boot_serial="YES"
sio0.baud="115200"
console="comconsole"
#powernow_load="YES" # XXX does not work with a T40E CPU (yet?)
amdsbwd_load="YES"
km_load="YES"
/etc/sysctl.conf:
kern.rand_mode=csprng
kern.ipc.somaxconn=1024
#machdep.mwait.CX.idle=AUTODEEP XXX
- sysctl kern.cputimer
kern.cputimer.intr.select: lapic
kern.cputimer.intr.freq: 100000264
kern.cputimer.intr.reglist: lapic
kern.cputimer.freq: 14318180
kern.cputimer.clock: 754746750
kern.cputimer.name: HPET
kern.cputimer.select: HPET ACPI-safe i8254_timer2 dummy
- sysctl machdep.mwait
machdep.mwait.CX.repeat_shift: 1
machdep.mwait.CX.spin: INVALID
machdep.mwait.CX.idle: INVALID
machdep.mwait.CX.supported:
machdep.mwait.C0.subcnt: 0
machdep.mwait.C0.entered: 0
machdep.mwait.C1.subcnt: 0
machdep.mwait.C1.entered: 47478
machdep.mwait.C2.subcnt: 0
machdep.mwait.C2.entered: 0
machdep.mwait.C3.subcnt: 0
machdep.mwait.C3.entered: 0
machdep.mwait.C4.subcnt: 0
machdep.mwait.C4.entered: 0
machdep.mwait.C5.subcnt: 0
machdep.mwait.C5.entered: 0
machdep.mwait.C6.subcnt: 0
machdep.mwait.C6.entered: 0
machdep.mwait.C7.subcnt: 0
machdep.mwait.C7.entered: 0
- sysctl hw.acpi | grep cx
hw.acpi.cpu.cx_lowest: C1
hw.acpi.cpu.cx_lowest_use: C1
hw.acpi.cpu0.cx_supported: C1/100
hw.acpi.cpu0.cx_lowest: C1
hw.acpi.cpu0.cx_lowest_use: C1
hw.acpi.cpu0.cx_usage: 0.00% last 1000000us
hw.acpi.cpu1.cx_supported: C1/100
hw.acpi.cpu1.cx_lowest: C1
hw.acpi.cpu1.cx_lowest_use: C1
hw.acpi.cpu1.cx_usage: 0.00% last 1000000us
- sysctl hw.acpi.cpu | grep px
hw.acpi.cpu.px_dom0.available: 1000 800
hw.acpi.cpu.px_dom0.members: cpu1(800) cpu0(800)
hw.acpi.cpu.px_dom0.select: 800
hw.acpi.cpu.px_global: 1000
dmesg is attached
Files
Updated by swildner almost 10 years ago
Can you give us a verbose dmesg (i.e., select either 'v' at the loader.menu or set boot_verbose=yes in loader.conf) too?
Updated by Anonymous almost 10 years ago
- File dmesg_verbose.txt dmesg_verbose.txt added
swildner wrote:
Can you give us a verbose dmesg (i.e., select either 'v' at the loader.menu or set boot_verbose=yes in loader.conf) too?
Sure
Updated by swildner almost 10 years ago
Can you retry with current master perhaps? A fix was committed in http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/52945ec6bad2c5a73addf283dcdf3a286b0d2cb9
If you need it on the 4.0 branch, we could MFC it too I guess (or you can cherry-pick it locally).
Updated by Anonymous almost 10 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
swildner wrote:
Can you retry with current master perhaps? A fix was committed in http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/52945ec6bad2c5a73addf283dcdf3a286b0d2cb9
If you need it on the 4.0 branch, we could MFC it too I guess (or you can cherry-pick it locally).
No panic anymore:
- sysctl machdep.mwait.CX.idle=AUTO
machdep.mwait.CX.idle: NONE
sysctl: machdep.mwait.CX.idle=AUTO: value is not available
Thanks.