On Tue, 24 Aug 2004, Greg Stark wrote:
>
> Tom Lane <tgl@sss.pgh.pa.us> writes:
>
> > Chris <list@1006.org> writes:
> > > I've compiled 8.0 beta 1 on a R5900 V3.1 (a playstation 2) running
> > > Linux (PS2 Linux 1) for portability testing.
> > > ...
> > > I'm wondering: would it be hard to fix the assembly spinlock code
> > > for the R5900?
> >
> > According to the previous port report from Red Hat, the PS2 chip simply
> > doesn't have any user-space TAS instruction, so you're pretty much stuck.
> > If you can find something that works, let us know.
>
> Out of curiosity. If it lacks a tas instruction, is there really any smp
> implementation that runs on it? Why would postgres want spinlocks at all with
> only one processor?
Errm. Even if we have only one CPU it doesn't mean instructions which
read/write to shared resources in a *multiprocess* environment will be
serialized in the way we want. In fact, its highly unlikely that they
will. If you want to test, make TAS() a noop and see how quickly
things are corrupted in shared memory :-)
Gavin