From owner-freebsd-hackers@FreeBSD.ORG Sat Apr 2 04:09:44 2005 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5787C16A4CF for ; Sat, 2 Apr 2005 04:09:44 +0000 (GMT) Received: from ns2.alphaque.com (ns2.alphaque.com [202.75.47.153]) by mx1.FreeBSD.org (Postfix) with SMTP id B73B643D39 for ; Sat, 2 Apr 2005 04:09:42 +0000 (GMT) (envelope-from dinesh@alphaque.com) Received: (qmail 76806 invoked by uid 0); 2 Apr 2005 04:09:41 -0000 Received: from lucifer.net-gw.com (HELO prophet.alphaque.com) (202.75.47.153) by lucifer.net-gw.com with SMTP; 2 Apr 2005 04:09:41 -0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) by prophet.alphaque.com (8.13.3/8.13.3) with ESMTP id j323cPaM002316; Sat, 2 Apr 2005 11:38:25 +0800 (MYT) (envelope-from dinesh@alphaque.com) Message-ID: <424E13B1.4090607@alphaque.com> Date: Sat, 02 Apr 2005 11:38:25 +0800 From: Dinesh Nair User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.5) Gecko/20050326 X-Accept-Language: en-us, en MIME-Version: 1.0 To: John Baldwin References: <42334057.5070705@gmx.net> <42492F0B.3040704@alphaque.com> <424B7A2D.5060902@alphaque.com> In-Reply-To: Content-Type: multipart/mixed; boundary="------------030409040900090609060302" cc: freebsd-hackers@freebsd.org cc: freebsd-acpi@freebsd.org Subject: Re: enable acpi X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Apr 2005 04:09:44 -0000 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--