spinlocks on powerpc
Manabu Ori <manabu.ori@gmail.com>
From: Manabu Ori <manabu.ori@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Tatsuo Ishii <ishii@postgresql.org>, robertmhaas@gmail.com, pgsql-hackers@postgresql.org
Date: 2011-12-30T05:47:23Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Use LWSYNC in place of SYNC/ISYNC in PPC spinlocks, where possible.
- 631beeac3598 9.2.0 cited
-
Reduce sinval synchronization overhead.
- b4fbe392f8ff 9.2.0 cited
2011/12/30 Tom Lane <tgl@sss.pgh.pa.us> > Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes: > > The Linux kernel does this (arch/powerpc/include/asm/ppc-opcode.h): > > Yeah, I was looking at that too. > > > We can't copy-paste code from Linux directly, and I'm not sure I like > > that particular phrasing of the macro, but perhaps we should steal the > > idea and only use the hint on 64-bit PowerPC processors? > > The info that I've found says that the hint exists beginning in POWER6, > and there were certainly 64-bit Power machines before that. However, > it might be that the only machines that actually spit up on the hint bit > (rather than ignore it) were 32-bit, in which case this would be a > usable heuristic. Not sure how we can research that ... do we want to > just assume the kernel guys know what they're doing? I'm a bit confused and might miss the point, but... If we can decide whether to use the hint operand when we build postgres, I think it's better to check if we can compile and run a sample code with lwarx hint operand than to refer to some arbitrary defines, such as FOO_PPC64 or something. I still wonder when to judge the hint availability, compile time or runtime. I don't have any idea how to decide that on runtime, though. P.S. I changed the subject since it's no longer related to HPUX. Regards, Manabu Ori