[PATCH] Add wake optimisation to PowerPC POSIX semaphores

Jakub Jelinek jakub@redhat.com
Mon Jul 30 23:21:00 GMT 2007


On Mon, Jul 30, 2007 at 12:59:55PM -0500, Anton Blanchard wrote:
> 
> Update PowerPC POSIX semaphores to call lll_futex_wake only when there
> are waiters. The performance of calls to sem_wait and sem_post improve
> as expected:
> 
> baseline of sem_wait+sem_post:
> 1629.22 cycles
> 
> patched:
> 261.38 cycles

Heh, this is almost the same as I posted last week in
http://sources.redhat.com/ml/libc-hacker/2007-07/msg00044.html
The only differences are: I used atomic_full_barrier,
guess your __asm __volatile (__lll_acq_instr ::: "memory"); is better
and LLL_SHARED shouldn't be used in the new sem_post case,
but isem->private ^ FUTEX_PRIVATE_FLAG.

	Jakub



More information about the Libc-alpha mailing list