[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