On Tue, Nov 29, 2011 at 08:09:31AM -0800, Richard Henderson wrote:
> Tight loops like this should use the weak compare-exchange so that we don't
> get two nested loops without need.
Done.
> I do think we need more commentary here so that next month I can still follow
> it.
Added this in gomp_sem_post
/* Clear SEM_WAIT here so that if there are no more waiting threads
we transition back to the uncontended state that does not make
futex syscalls. If there are waiting threads then when one is
awoken it will set SEM_WAIT again, so other waiting threads are
woken on a future gomp_sem_post. Furthermore, the awoken thread
will wake other threads in case gomp_sem_post was called again
before it had time to set SEM_WAIT. */
and committed revision 181831 without likely_compare_exchange as
discussed.
--
Alan Modra
Australia Development Lab, IBM