Date: Sat, 02 Apr 2005 11:38:25 +0800 From: Dinesh Nair <dinesh@alphaque.com> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-acpi@freebsd.org Subject: Re: enable acpi Message-ID: <424E13B1.4090607@alphaque.com> In-Reply-To: <c7f48b8a206ce5a81cc0ebd3e0bf8ae6@FreeBSD.org> References: <42334057.5070705@gmx.net> <42492F0B.3040704@alphaque.com> <424B7A2D.5060902@alphaque.com> <c7f48b8a206ce5a81cc0ebd3e0bf8ae6@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------030409040900090609060302 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit On 03/31/05 20:51 John Baldwin said the following: > The problem is that the taskqueue_swi in 4.x doesn't have a thread > context that can be slept on via tsleep(). The fix would be to create a > kthread in which to run the ACPI tasks. 4.x already has one such > kthread for the taskqueue_thread taskqueue that you could use as a > reference if you wish to do this yourself. thanx for the pointer, john. with your explanation, the fix was simple. since applying this, it's not paniced in over 24 hours of continuous running. patch attached. i'll also raise a PR for this. -- Regards, /\_/\ "All dogs go to heaven." dinesh@alphaque.com (0 0) http://www.alphaque.com/ +==========================----oOO--(_)--OOo----==========================+ | for a in past present future; do | | for b in clients employers associates relatives neighbours pets; do | | echo "The opinions here in no way reflect the opinions of my $a $b." | | done; done | +=========================================================================+ --------------030409040900090609060302 Content-Type: text/plain; name="sys::dev::acpica::Osd::OsdSchedule.c.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="sys::dev::acpica::Osd::OsdSchedule.c.patch" --- sys/dev/acpica/Osd/OsdSchedule.c.orig Thu Mar 31 00:35:42 2005 +++ sys/dev/acpica/Osd/OsdSchedule.c Fri Apr 1 13:55:00 2005 @@ -192,7 +192,7 @@ TASK_INIT(&at->at_task, pri, AcpiOsExecuteQueue, at); #if __FreeBSD_version < 500000 - taskqueue_enqueue(taskqueue_swi, (struct task *)at); + taskqueue_enqueue(taskqueue_thread, (struct task *)at); #else taskqueue_enqueue(taskqueue_acpi, (struct task *)at); #endif --------------030409040900090609060302--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?424E13B1.4090607>