ACPI issue in 7-current ?

Khetan Gajjar khetan at os.org.za
Thu Aug 11 16:19:17 GMT 2005


Well,

I'm swopping out the hardware to an Intel processor and board. Lets see if
that solves the problem :-) 

-----Original Message-----
From: John Baldwin [mailto:jhb at FreeBSD.org] 
Sent: Thursday, August 11, 2005 4:26 PM
To: freebsd-current at freebsd.org
Cc: Khetan Gajjar; acpi at FreeBSD.org
Subject: Re: ACPI issue in 7-current ?

On Wednesday 10 August 2005 11:41 am, Khetan Gajjar wrote:
> Hi.
>
> I've been running a 6-current box which I upgraded recently to 7.
> At the same time, I disabled WITNESS and INVARIANTS in the kernel.
> I've noticed the machine doing some very weird things ever since.

Looks like the locking in acpi_tz is rather busted as it has tried to hold a

mutex across kthread_create() which is not ok.  That is where the LOR's come

from at least.  I'm not sure if that is the cause of your other problems 
though.

> acpi_tz0: <Thermal Zone> on acpi0
> malloc(M_WAITOK) of "PROC", forcing M_NOWAIT with the following
> non-sleepable lo cks held:
> exclusive sleep mutex ACPI thermal zone r = 0 (0xc0859d20) locked @
> /usr/src/sys /modules/acpi/acpi/../../../dev/acpica/acpi_thermal.c:1023
> KDB: stack backtrace:
> kdb_backtrace(1,c1a406d4,c1042000,0,c0c20ba0) at kdb_backtrace+0x29
> witness_warn(5,0,c06ae269,c06938e6,c1a406d4) at witness_warn+0x18e
> uma_zalloc_arg(c1042000,0,2) at uma_zalloc_arg+0x41
> fork1(c06fb400,60034,0,c0c20bf4) at fork1+0x106
> kthread_create(c08453bc,c1a40600,c1a406d4,40000,0) at kthread_create+0x3d
> acpi_tz_cooling_thread_start(c1a40600,307a74,c0858558,c197e7e0,c1a68100)
at
> acpi _tz_cooling_thread_start+0x66
> acpi_tz_attach(c1a68100) at acpi_tz_attach+0x408
> device_attach(c1a68100,c1a68400,c1a68100,c1a3f180,0) at device_attach+0x58
> device_probe_and_attach(c1a68100) at device_probe_and_attach+0xe0
> bus_generic_attach(c1a3f200,1,c0c20cd8,c083c2bc,c1a3f200) at
> bus_generic_attach+ 0x16
> acpi_probe_children(c1a3f200,404f398,c1a3f200,c1a3f200,0) at
> acpi_probe_children +0x2f
> acpi_attach(c1a3f200) at acpi_attach+0x514
> device_attach(c1a3f200,c0857960,c1a3f200,c19bf080,0) at device_attach+0x58
> device_probe_and_attach(c1a3f200) at device_probe_and_attach+0xe0
> bus_generic_attach(c19bf080,c19bf080,c19bf080,c0c20d40,c0511070) at
> bus_generic_ attach+0x16
> nexus_attach(c19bf080) at nexus_attach+0x13
> device_attach(c19bf080,c197185c,c19bf080,c06e6ff0,c28000) at
> device_attach+0x58 device_probe_and_attach(c19bf080) at
> device_probe_and_attach+0xe0
> root_bus_configure(c0c20d88,c04d4aea,0,c1ec00,c1e000) at
> root_bus_configure+0x16 configure(0,c1ec00,c1e000,0,c0432d95) at
> configure+0x9
> mi_startup() at mi_startup+0x96
> begin() at begin+0x2c
> lock order reversal
>   1st 0xc0859d20 ACPI thermal zone (ACPI thermal zone) @
> /usr/src/sys/modules/acp i/acpi/../../../dev/acpica/acpi_thermal.c:1023
>   2nd 0xc06fd440 proctree (proctree) @ kern/kern_fork.c:277
> KDB: stack backtrace:
> kdb_backtrace(0,ffffffff,c0712138,c0712f98,c06d59ac) at kdb_backtrace+0x29
> witness_checkorder(c06fd440,1,c069187b,115) at witness_checkorder+0x564
> _sx_slock(c06fd440,c0691872,115,c1a3a3c0,c1a3a274,0,0,0) at _sx_slock+0x50
> fork1(c06fb400,60034,0,c0c20bf4) at fork1+0x135
> kthread_create(c08453bc,c1a40600,c1a406d4,40000,0) at kthread_create+0x3d
> acpi_tz_cooling_thread_start(c1a40600,307a74,c0858558,c197e7e0,c1a68100)
at
> acpi _tz_cooling_thread_start+0x66
> acpi_tz_attach(c1a68100) at acpi_tz_attach+0x408
> device_attach(c1a68100,c1a68400,c1a68100,c1a3f180,0) at device_attach+0x58
> device_probe_and_attach(c1a68100) at device_probe_and_attach+0xe0
> bus_generic_attach(c1a3f200,1,c0c20cd8,c083c2bc,c1a3f200) at
> bus_generic_attach+ 0x16
> acpi_probe_children(c1a3f200,404f398,c1a3f200,c1a3f200,0) at
> acpi_probe_children +0x2f
> acpi_attach(c1a3f200) at acpi_attach+0x514
> device_attach(c1a3f200,c0857960,c1a3f200,c19bf080,0) at device_attach+0x58
> device_probe_and_attach(c1a3f200) at device_probe_and_attach+0xe0
> bus_generic_attach(c19bf080,c19bf080,c19bf080,c0c20d40,c0511070) at
> bus_generic_ attach+0x16
> nexus_attach(c19bf080) at nexus_attach+0x13
> device_attach(c19bf080,c197185c,c19bf080,c06e6ff0,c28000) at
> device_attach+0x58 device_probe_and_attach(c19bf080) at
> device_probe_and_attach+0xe0
> root_bus_configure(c0c20d88,c04d4aea,0,c1ec00,c1e000) at
> root_bus_configure+0x16 configure(0,c1ec00,c1e000,0,c0432d95) at
> configure+0x9
> mi_startup() at mi_startup+0x96
> begin() at begin+0x2c
> malloc(M_WAITOK) of "4096", forcing M_NOWAIT with the following
> non-sleepable lo cks held:
> exclusive sleep mutex ACPI thermal zone r = 0 (0xc0859d20) locked @
> /usr/src/sys /modules/acpi/acpi/../../../dev/acpica/acpi_thermal.c:1023
> KDB: stack backtrace:
> kdb_backtrace(1,ad0,c104ab40,8,c0c20b70) at kdb_backtrace+0x29
> witness_warn(5,0,c06ae269,c0692706,ad0) at witness_warn+0x18e
> uma_zalloc_arg(c104ab40,0,102) at uma_zalloc_arg+0x41
> malloc(acc,c06d47c0,102,24,c0c20bdc) at malloc+0xae
> sigacts_alloc(c0c20bf4,c051e423,1,0,c051ddf8) at sigacts_alloc+0x18
> fork1(c06fb400,60034,0,c0c20bf4) at fork1+0x48d
> kthread_create(c08453bc,c1a40600,c1a406d4,40000,0) at kthread_create+0x3d
> acpi_tz_cooling_thread_start(c1a40600,307a74,c0858558,c197e7e0,c1a68100)
at
> acpi _tz_cooling_thread_start+0x66
> acpi_tz_attach(c1a68100) at acpi_tz_attach+0x408
> device_attach(c1a68100,c1a68400,c1a68100,c1a3f180,0) at device_attach+0x58
> device_probe_and_attach(c1a68100) at device_probe_and_attach+0xe0
> bus_generic_attach(c1a3f200,1,c0c20cd8,c083c2bc,c1a3f200) at
> bus_generic_attach+ 0x16
> acpi_probe_children(c1a3f200,404f398,c1a3f200,c1a3f200,0) at
> acpi_probe_children +0x2f
> acpi_attach(c1a3f200) at acpi_attach+0x514
> device_attach(c1a3f200,c0857960,c1a3f200,c19bf080,0) at device_attach+0x58
> device_probe_and_attach(c1a3f200) at device_probe_and_attach+0xe0
> bus_generic_attach(c19bf080,c19bf080,c19bf080,c0c20d40,c0511070) at
> bus_generic_ attach+0x16
> nexus_attach(c19bf080) at nexus_attach+0x13
> device_attach(c19bf080,c197185c,c19bf080,c06e6ff0,c28000) at
> device_attach+0x58 device_probe_and_attach(c19bf080) at
> device_probe_and_attach+0xe0
> root_bus_configure(c0c20d88,c04d4aea,0,c1ec00,c1e000) at
> root_bus_configure+0x16 configure(0,c1ec00,c1e000,0,c0432d95) at
> configure+0x9
> mi_startup() at mi_startup+0x96
> begin() at begin+0x2c
> malloc(M_WAITOK) of "256", forcing M_NOWAIT with the following
> non-sleepable loc ks held:
> exclusive sleep mutex ACPI thermal zone r = 0 (0xc0859d20) locked @
> /usr/src/sys /modules/acpi/acpi/../../../dev/acpica/acpi_thermal.c:1023
> KDB: stack backtrace:
> kdb_backtrace(1,d0,c104a3c0,4,c0c20b38) at kdb_backtrace+0x29
> witness_warn(5,0,c06ae269,c0698bee,d0) at witness_warn+0x18e
> uma_zalloc_arg(c104a3c0,0,102) at uma_zalloc_arg+0x41
> malloc(cc,c06d1600,102,c04f44ec,24) at malloc+0xae
> fdinit(c1985400,c1a42aa8,c0694670,0,0) at fdinit+0x20
> fdcopy(c1985400,c0c20bf4,c051e423,1,c1a42000) at fdcopy+0x20
> fork1(c06fb400,60034,0,c0c20bf4) at fork1+0x4c6
> kthread_create(c08453bc,c1a40600,c1a406d4,40000,0) at kthread_create+0x3d
> acpi_tz_cooling_thread_start(c1a40600,307a74,c0858558,c197e7e0,c1a68100)
at
> acpi _tz_cooling_thread_start+0x66
> acpi_tz_attach(c1a68100) at acpi_tz_attach+0x408
> device_attach(c1a68100,c1a68400,c1a68100,c1a3f180,0) at device_attach+0x58
> device_probe_and_attach(c1a68100) at device_probe_and_attach+0xe0
> bus_generic_attach(c1a3f200,1,c0c20cd8,c083c2bc,c1a3f200) at
> bus_generic_attach+ 0x16
> acpi_probe_children(c1a3f200,404f398,c1a3f200,c1a3f200,0) at
> acpi_probe_children +0x2f
> acpi_attach(c1a3f200) at acpi_attach+0x514
> device_attach(c1a3f200,c0857960,c1a3f200,c19bf080,0) at device_attach+0x58
> device_probe_and_attach(c1a3f200) at device_probe_and_attach+0xe0
> bus_generic_attach(c19bf080,c19bf080,c19bf080,c0c20d40,c0511070) at
> bus_generic_ attach+0x16
> nexus_attach(c19bf080) at nexus_attach+0x13
> device_attach(c19bf080,c197185c,c19bf080,c06e6ff0,c28000) at
> device_attach+0x58 device_probe_and_attach(c19bf080) at
> device_probe_and_attach+0xe0
> root_bus_configure(c0c20d88,c04d4aea,0,c1ec00,c1e000) at
> root_bus_configure+0x16 configure(0,c1ec00,c1e000,0,c0432d95) at
> configure+0x9
> mi_startup() at mi_startup+0x96
> begin() at begin+0x2c

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org





More information about the freebsd-current mailing list