Re: [PORTS] solaris build problem with Sun compilers

Alan Stange <[email protected]> Fri, 12 May 2006 12:22:43 -0400
Newsgroups gmane.comp.db.postgresql.ports
Organization Renaissance Technologies Corp.
Message-ID <[email protected]>
Hello,

I removed the whole tas_dummy() block for sparc from s_lock.c.  I 
recompiled and installed with and without --enable-debug.   I then ran 
pgbench on the box.  This is using the Sun 11 compilers on Solaris 10.

I tested using pgbench

$ pgbench -i -s 32 pgbench
$ pgbench -s 32 -c 1 -t 10000 -v

for up to 8 clients on an 8 core UltraSparc IV+ system.

Everything compiled and ran fine.




I took a look at backend/port/tas/solaris_sparc.s file.  Isn't that code 
a bit longer than needed?

Aren't the callers of this doing
while (tas(lock)) {
   // wait a bit without smashing the kernel/memory bus
}

in which case the code should just be

	ldstub [%o0],%o0
	retl
	nop

without the extra comparisons and branching.  Unless I'm missing something.

-- Alan


---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings