Skip to content
Snippets Groups Projects
Commit bc2a050d authored by Tom Lane's avatar Tom Lane
Browse files

Use a non-locking initial test in TAS_SPIN on PPC.

Further testing convinces me that this is helpful at sufficiently high
contention levels, though it's still worrisome that it loses slightly
at lower contention levels.

Per Manabu Ori.
parent 63876d3b
No related branches found
No related tags found
No related merge requests found
......@@ -358,6 +358,9 @@ typedef unsigned int slock_t;
#define TAS(lock) tas(lock)
/* On PPC, it's a win to use a non-locking test before the lwarx */
#define TAS_SPIN(lock) (*(lock) ? 1 : TAS(lock))
/*
* NOTE: per the Enhanced PowerPC Architecture manual, v1.0 dated 7-May-2002,
* an isync is a sufficient synchronization barrier after a lwarx/stwcx loop.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment