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>