From owner-freebsd-hackers Fri Dec 6 23:06:00 1996 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id XAA14790 for hackers-outgoing; Fri, 6 Dec 1996 23:06:00 -0800 (PST) Received: from parkplace.cet.co.jp (parkplace.cet.co.jp [202.32.64.1]) by freefall.freebsd.org (8.8.4/8.8.4) with ESMTP id XAA14785 for ; Fri, 6 Dec 1996 23:05:57 -0800 (PST) Received: from localhost (michaelh@localhost) by parkplace.cet.co.jp (8.8.3/CET-v2.1) with SMTP id HAA08019; Sat, 7 Dec 1996 07:05:47 GMT Date: Sat, 7 Dec 1996 16:05:47 +0900 (JST) From: Michael Hancock To: Bakul Shah cc: Terry Lambert , freebsd-hackers@freebsd.org Subject: Re: clone()/rfork()/threads (Re: Inferno for FreeBSD) In-Reply-To: <199612062111.QAA22343@chai.plexuscom.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk On Fri, 6 Dec 1996, Bakul Shah wrote: > > > scheduling (and appropriately deal with priority inversion) are not > > > easy. > > > > Heh. "locking nodes in a directed acylic graph representing a lock > > heirarchy" will address the priority inversion handily -- assuming > > I was talking about scheduling realtime threads on an MP system, > running at different priority levels but which may want to share > objects. When a high prio. thread has to wait because a low > priority thread holds a lock it wants, we have priority inversion. > I don't think fair scheduling is easy when you consider these > issues. Terry is talking about a global policy for detecting priority inversion whereas you are probably talking about a local policy, priority lending. Priority lending is where lower priority thread holds a lock that a higher priority thread wants, so the higher priority thread lends its priority to the lower priority thread to prevent it from being preempted by another high priority thread that doesn't need the object. Priority lending is easier for me to understand. On the other hand maybe the difference is like the difference between 100VG and 100BT. Regards, Mike Hancock