From 6b3c8e3167db43b14583e9932554e995fb508f84 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 23 Jan 2001 16:22:11 +0000 Subject: [PATCH] Add --- doc/TODO.detail/thread | 53 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/doc/TODO.detail/thread b/doc/TODO.detail/thread index 1be245287f9..555f13a942b 100644 --- a/doc/TODO.detail/thread +++ b/doc/TODO.detail/thread @@ -277,3 +277,56 @@ mkscott@sacadia.com +From bright@fw.wintelcom.net Tue Jan 2 03:02:28 2001 +Received: from fw.wintelcom.net (bright@ns1.wintelcom.net [209.1.153.20]) + by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id DAA16169 + for ; Tue, 2 Jan 2001 03:02:27 -0500 (EST) +Received: (from bright@localhost) + by fw.wintelcom.net (8.10.0/8.10.0) id f0282Vm10623; + Tue, 2 Jan 2001 00:02:31 -0800 (PST) +Date: Tue, 2 Jan 2001 00:02:31 -0800 +From: Alfred Perlstein +To: Bruce Momjian +Cc: Tom Lane , pgsql-hackers@postgresql.org +Subject: Re: [HACKERS] Assuming that TAS() will succeed the first time is verboten +Message-ID: <20010102000230.C19572@fw.wintelcom.net> +References: <9850.978067943@sss.pgh.pa.us> <200101020759.CAA15836@candle.pha.pa.us> +Mime-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline +User-Agent: Mutt/1.2.5i +In-Reply-To: <200101020759.CAA15836@candle.pha.pa.us>; from pgman@candle.pha.pa.us on Tue, Jan 02, 2001 at 02:59:20AM -0500 +Status: OR + +* Bruce Momjian [010101 23:59] wrote: +> > Alfred Perlstein writes: +> > > One trick that may help is calling sched_yield(2) on a lock miss, +> > > it's a POSIX call and quite new so you'd need a 'configure' test +> > > for it. +> > +> > The author of the current s_lock code seems to have thought that +> > select() with a zero delay would do the equivalent of sched_yield(). +> > I'm not sure if that's true on very many kernels, if indeed any... +> > +> > I doubt we could buy much by depending on sched_yield(); if you want +> > to assume POSIX facilities, ISTM you might as well go for user-space +> > semaphores and forget the whole TAS mechanism. +> +> +> Another issue is that sched_yield brings in the pthreads library/hooks +> on some OS's, which we certainly want to avoid. + +I know it's a major undertaking, but since the work is sort of done, +have you guys considered the port to solaris threads and seeing about +making a pthreads port of that? + +I know it would probably get you considerable gains under Windows +at the expense of dropping some really really legacy system. + +Or you could do what apache (is rumored) does and have it do either +threads or processes or both... + +-- +-Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org] +"I have the heart of a child; I keep it in a jar on my desk." +