Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Dec 1996 11:41:52 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        michaelh@cet.co.jp
Cc:        chuckr@Glue.umd.edu, smp@freebsd.org
Subject:   Re: General SMP Design
Message-ID:  <199612161841.LAA01687@phaeton.artisoft.com>
In-Reply-To: <Pine.SV4.3.95.961216120734.24818B-100000@parkplace.cet.co.jp> from "Michael Hancock" at Dec 16, 96 12:28:26 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > I read that, but I don't clearly see why TSM was required.  Not talking
> > about the benefits, but why it's required by NBS.  Are you clearer, and
> > could you explain it without too much verbage (I don't want to make
> > everyone read a thesis here 8-> ).
> 
> I'm still reading it myself, but I think it is because you don't want a
> data structure to change "underneath" you while other higher priority
> processes take over your lock and you retry later on.  Type-stable memory
> simplifies implementation. 

But it's not a magic bullet, itself.

I like the "delay work hoping it will go away" approach to NBS... I've
advocated locking most resources in CPU specific pools, and using
the migration of resource between processors, and high and low water
marks on the pools to allow them to refill from, or drain to, global
pools which are only used for resource balancing.  NBS is an alternate
approach.

I kind of dislike resource preemption as a means of solving priority
inversion.  I may have meta-state which I need to hold.  I suppose
if the preemption were read-only and TSM'ed at the meta-state level,
I could live with it.  Otherwise, I prefer priority lending, even
though there are some obvious loopholes in fairness that it can
open up.  Bottom line is that lending only works well if the resource
is only held at most for the duration of the kernel entrancy.  If
this is obeyed, and kernel preemption exists (so that when the resource
is released, the priority is immediately unlent and the process lent
is descheduled), then there is really no advantage to NBS over a
CPU centric hierarchical locking method and global pooling.


					Regards,
					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199612161841.LAA01687>