From owner-freebsd-arch Sun Aug 18 20:27:35 2002 Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6FB4337B400 for ; Sun, 18 Aug 2002 20:27:31 -0700 (PDT) Received: from scaup.mail.pas.earthlink.net (scaup.mail.pas.earthlink.net [207.217.120.49]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1294343E3B for ; Sun, 18 Aug 2002 20:27:31 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from pool0278.cvx22-bradley.dialup.earthlink.net ([209.179.199.23] helo=mindspring.com) by scaup.mail.pas.earthlink.net with esmtp (Exim 3.33 #1) id 17gdC7-00031o-00; Sun, 18 Aug 2002 20:27:08 -0700 Message-ID: <3D60651F.63E1A626@mindspring.com> Date: Sun, 18 Aug 2002 20:25:19 -0700 From: Terry Lambert X-Mailer: Mozilla 4.79 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Julian Elischer Cc: Matthew Dillon , Ian Dowse , Bruce Evans , arch@FreeBSD.ORG Subject: Re: Solving the stack gap issue References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Julian Elischer wrote: > On Sun, 18 Aug 2002, Terry Lambert wrote: > > Julian Elischer wrote: > > > On Sun, 18 Aug 2002, Matthew Dillon wrote: > > [ ... ] > [...] > > > > If "lock b" fails because it would result in a deadlock, then > > the only safe way to recover is to unwind the call graph to the > > point "lock a" was acquired, and release "lock a", yield, and > > then reacquire "lock a" and redescend the call graph to retry > > the "lock b" acquisition. > > you are talking (almost) about the "asleep()" faciliy that matt Dillon > added for a while bus has been rmoved again.. Almost. I think the code could be refactored to get the behaviour (e.g. by doing the locking for multiple objects in the same function that derives the data), without needing an "asleep". Anyway, you have to admit, it's much more of a problem than argument passing vs. global references for "curthread". 8-). -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message