Re: [PORTS] solaris build problem with Sun compilers

Alan Stange <[email protected]> Fri, 12 May 2006 13:43:44 -0400
Newsgroups gmane.comp.db.postgresql.ports
Organization Renaissance Technologies Corp.
Message-ID <[email protected]>
Tom Lane wrote:
> Alan Stange <[email protected]> writes:
>> I took a look at backend/port/tas/solaris_sparc.s file.  Isn't that code 
>> a bit longer than needed?
> 
> It's already been rewritten in HEAD; uses "cas" now.

Hmmm.   I've just been looking at the last snapshot of the HEAD and 
s_lock.h is still using an ldstub instruction instead of a cas for the 
inlined tas() function when gcc is being used.   Having a cas 
instruction here would probably be an improvement too, right?


Finally, I noticed that pg_sleep is calling select() for a sleep.  On 
Solaris, this is a fairly expensive way to get off the run queue 
compared to just calling nanosleep().   How often do backends go to 
sleep here under "typical" workloads?  Yes, I know this is a somewhat 
crazy question, I'm just trying to get a sense of how "hot" this code 
path is.

Thanks!

-- Alan


---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match