Re: [PORTS] solaris build problem with Sun compilers

Tom Lane <[email protected]> Fri, 12 May 2006 14:10:31 -0400
Newsgroups gmane.comp.db.postgresql.ports
Message-ID <[email protected]>
Alan Stange <[email protected]> writes:
> 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?

[ shrug... ]  The person who submitted the solaris_sparc.s change failed
to provide any evidence that it was anything but cosmetic, so I didn't
worry about changing the equivalent gcc code.  If there's actually a
performance win, please cite chapter and verse.  Also, shouldn't we be
worrying about breaking older Sparc chips?  Does CAS go all the way
back?

> 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?

If you actually reach that syscall you're screwed performance-wise
anyhow.  I'm disinclined to mess with OS-specific variants of the
delay logic.

			regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [email protected] so that your
       message can get through to the mailing list cleanly