Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Prompted by confusion over Itanium/Opterion, I have written a patch to
> > improve the way we define spinlocks for platforms and cpu's.
>
> The main.c part of the patch strikes me as irrelevant to the claimed
> purpose and unlikely to accomplish anything except breaking things.
> Do you have a system the main.c "__alpha" code is relevant to, on which
> to test that you did not break it?
>
> Other than that, it looks like basically a good idea. But...
I was going to have an alpha guy test it --- that was the one change I
wasn't sure about. We did test for __alpha__ all over the port/*.h
files, so it wasn't clear which alpha's were being hit. I can throw in
a comment and skip that part --- not sure.
> > I plan to apply this to 7.4.
>
> This seems like living dangerously. You do realize that this patch will
> invalidate our trust that the code works on every single supported
> platform? I think beta3 may be a bit late in the game for this sort of
> thing, because we've already gotten a good bit of the testing we can
> expect to get for lesser-used platforms during this beta cycle.
>
> At the very least I'd like to see the decision discussed on -hackers
> and not buried in -patches.
The problem with waiting for 7.5 is that we will have no error reporting
when our non-spinlock code is being executed, and with Opteron/Itanium,
it seems like a good time to get it working. We had the FreeBSD report
with not finding Opteron/Itanium, and that's what got me going. Also,
if it doesn't find the spinlock code, it will report an error, so we
should flesh this all out as we collect supported platforms, which we
haven't started yet.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073