Re: BUG #2401: spinlocks not available on amd64
От | Theo Schlossnagle |
---|---|
Тема | Re: BUG #2401: spinlocks not available on amd64 |
Дата | |
Msg-id | 66B892B7-3A73-4F8D-B5AD-7FE84E4FFE99@omniti.com обсуждение исходный текст |
Ответ на | Re: BUG #2401: spinlocks not available on amd64 (Theo Schlossnagle <jesus@omniti.com>) |
Список | pgsql-bugs |
The amd64 spintlock instructions use no AMD-specific features. It's base intel 64bit instruction set. We ship a product with similar such spin locks and have never had an issue across a large variety of chipsets (Intel, AMD, and virtualized). In short, if you can actually run 64bit code, the CAS stuff should just work. On Jun 24, 2009, at 8:27 AM, Gregory Stark wrote: > > Theo Schlossnagle wrote: > >> Tom Lane wrote: >> >>> There is no reason for the i386 or AMD64 code to be different from >>> what's >>> already tested on Linux --- the hardware's the same and the OS >>> surely >>> doesn't make a difference at this level. >> >> On linux you use gcc, which allows for inline assembly. So, the >> code is >> already very different. > > How does this interact with binary builds such as rpms? If someone > installs an > amd64 binary on an x86 machine or vice versa does this assembly do > the right > thing at all? Does it perform slowly? > > Ideally we would compile both and pick the right one at run-time but > that > might have annoying overhead if there's a branch before every > pg_atomic_cas > call. > > Perhaps a minimal thing to do would be to detect a mismatch on > startup and log > a message about it. > > -- > Gregory Stark > http://mit.edu/~gsstark/resume.pdf -- Theo Schlossnagle http://omniti.com/is/theo-schlossnagle p: +1.443.325.1357 x201 f: +1.410.872.4911
В списке pgsql-bugs по дате отправления: