From owner-cvs-all@FreeBSD.ORG Fri May 26 06:10:24 2006 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9C46216A4E6; Fri, 26 May 2006 06:10:24 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B4CF43D46; Fri, 26 May 2006 06:10:24 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [IPv6:::1] (may be forged)) by harmony.bsdimp.com (8.13.4/8.13.4) with ESMTP id k4Q69hXs043771; Fri, 26 May 2006 00:09:43 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 25 May 2006 23:59:34 -0600 (MDT) Message-Id: <20060525.235934.-1956306548.imp@bsdimp.com> To: gurney_j@resnet.uoregon.edu From: "M. Warner Losh" In-Reply-To: <20060526055424.GG49081@funkthat.com> References: <44766F75.9060100@samsco.org> <20060525.220611.74708877.imp@bsdimp.com> <20060526055424.GG49081@funkthat.com> X-Mailer: Mew version 4.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: cvs-src@freebsd.org, scottl@samsco.org, src-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/dev/syscons/apm apm_saver.c src/sys/i386/bios apm.c apm.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 May 2006 06:10:26 -0000 In message: <20060526055424.GG49081@funkthat.com> John-Mark Gurney writes: : Warner Losh wrote this message on Thu, May 25, 2006 at 22:06 -0600: : > > In the past, I've been against mandating that callouts/timeouts/generic : > > taskqueues should not be allowed to sleep. However, after looking over : > > the history of this problem as well as others, it seems that it's just : > > too easy for driver authors to make bad assumptions and wind up with a : > > priority inversion/deadlock like this. It would be relatively trivial : > > to mark these contexts as being non-sleepable and have the msleep code : > > enforce it, like is done with ithreads. What do you think? Anyways, : > > thanks for looking at this and fixing it. : > : > At the very least, we should mandate that timeouts are a non-sleepable : > event. Sleeping just doesn't work there. taskqueues, I'm less sure : > of, since short sleeps there work, but do degrade performance. I like : > this idea. : : People worried about things like this should create their own thread : for their taskqueue.. It's quite easy (simple macro declaration), and : I did that for handling kq in kq... The problem isn't people that are worried about these things... It is those that don't worry about them.. Warner