Date: Wed, 10 Nov 2004 22:59:58 +0300 From: Dmitry Kondratyev <null@bikeman.ru> To: freebsd-acpi@freebsd.org Subject: Re: Troubles with ACPI on HP nx5000 laptop Message-ID: <4192733E.3000606@bikeman.ru> In-Reply-To: <418FAA88.3070706@root.org> References: <128676437.20041011133831@bikeman.ru> <401094078.20041011134529@bikeman.ru> <66751906.20041107194159@bikeman.ru> <418FAA88.3070706@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello Nate, Monday, November 8, 2004, 8:19:04 PM, you wrote: >>>> DK>> After enabling ACPI on HP nx5000 my laptop (Pentium Mobile 1.7M >>>> DK>> Dothan) hangs when compiling programs. dmesg, sysctl hw.acpi and >>>> DK>> acpidump -t -d output are in attach. Disabling ACPI helps. >>>> >>>> DK> oops, attach was filtered somewhere. You can get it here: >>>> DK> http://bikeman.ru/HPnx5000.tgz >>>> >>>> The problem is in acpi thermal module. I set hw.acpi.verbose to 1 in >>>> /boot/loader.conf and noted that my laptop hangs when it changes >>>> cooling level too often. If i set hw.acpi.thermal.tz0.active to 0 for >>>> active cooling or disable thermal module via loader.conf. >>>> >>>> Btw, when I pull out power cord, my laptop also hang after trying to >>>> change power profile. >>>> >>>> In both cases it doesn't really hangs, it still react to alt-fn, enter >>>> and power button. After pressing power I get "acpi: suspend request >>>> ignored (not ready yet)". NL> Thanks for the update. I need some more information to narrow down the NL> problem. Does it hang the very first time it switches cooling levels or NL> after multiple switches? I tested it all again just a few minutes ago, it hung after first try to switch. NL> NL> After it has hung, please break to DDB NL> (ctrl-alt-backspace) and do a ps. Go through doing a "tr" on each NL> process id that looks interesting, looking for stacks that have NL> "acpi_tz" functions in them. Email me the process stack info. It's NL> obvious that you're getting a deadlock in the acpi thermal zone NL> switching code but we need to figure out how. I don't think it's deadlock, because I found only one process callling acpi_tz funcs. > ps 45 c15b8c5c d4de5000 0 0 0 0000204 [RUNQ] acpi_thermal > trace 45 sched_switch(c155f640,0,1,5e21f7f1,5e141b1) at sched_switch+0x160 mi_switch(1,0,d3becca8,10) at mi_switch+0x1d9 sleepq_switch(c07a4694,c155f640,d3becce0,c04e1dcc,c07a4694) at sleepq_switch+0x167 sleepq_timedwait(c07a4694,54,c07a46a0,c07a0150,0) at sleepq_timedwait+0x12 msleep(c07a4694,c07a46a0,254,c07a0150,3e8) at msleep+0x3bc acpi_tz_thread(0,d3becd48,68bf09fc,85e800c6, 2c483cd) at acpi_tz_thread+0x1da fork_exit(c07902f0,0,d3becd48) at fork_exit+0x80 fork_trampoline() at fork_trampoline+0x8 --- trap 0x1, eip = 0, esp = 0xd3becd7c, ebp = 0 --- Furthermore, after "cont" in ddb, everything worked for a few seconds. And it always works for a while till hangs again if after hanging I call ddb and type "cont". Maybe it will "unhang" if I wait till CPU gets cold.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4192733E.3000606>