From owner-freebsd-hackers@FreeBSD.ORG Wed Nov 2 19:02:06 2005 Return-Path: X-Original-To: freebsd-hackers@freebsd.org 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 3350716A41F for ; Wed, 2 Nov 2005 19:02:06 +0000 (GMT) (envelope-from dinesh@alphaque.com) Received: from ns2.alphaque.com (ns2.alphaque.com [202.75.47.153]) by mx1.FreeBSD.org (Postfix) with SMTP id 24D7943D48 for ; Wed, 2 Nov 2005 19:02:04 +0000 (GMT) (envelope-from dinesh@alphaque.com) Received: (qmail 80725 invoked by uid 0); 2 Nov 2005 19:02:03 -0000 Received: from lucifer.net-gw.com (HELO prophet.alphaque.com) (202.75.47.153) by lucifer.net-gw.com with SMTP; 2 Nov 2005 19:02:03 -0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) by prophet.alphaque.com (8.13.4/8.13.4) with ESMTP id jA2INWZu026758; Thu, 3 Nov 2005 02:23:32 +0800 (MYT) (envelope-from dinesh@alphaque.com) Message-ID: <43690424.1040904@alphaque.com> Date: Thu, 03 Nov 2005 02:23:32 +0800 From: Dinesh Nair User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8b) Gecko/20050915 MIME-Version: 1.0 To: "M. Warner Losh" References: <4360B8EE.4070605@alphaque.com> <4360DD7B.20900@samsco.org> <4361044B.50807@alphaque.com> <20051027.205250.55834228.imp@bsdimp.com> In-Reply-To: <20051027.205250.55834228.imp@bsdimp.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org Subject: Re: locking in a device driver X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Nov 2005 19:02:06 -0000 On 10/28/05 10:52 M. Warner Losh said the following: > libc_r will block all other threads in the application while an ioctl > executes. libpthread and libthr won't. I've had several bugs at work so if the userland thread does an ioctl, and the the driver goes to tsleep() when the ioctl is received, all other threads are also blocked from executing, i.e wont be context switched to run ? is this behaviour only 4.x specific or is it also there in 5.x ? -- 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 | +=========================================================================+