On Wed, 2013-03-20 at 15:55 -0400, Rik van Riel wrote:
> Introduce finer grained locking for semtimedop, to handle the
> common case of a program wanting to manipulate one semaphore
> from an array with multiple semaphores.
> 
> If the call is a semop manipulating just one semaphore in
> an array with multiple semaphores, only take the lock for
> that semaphore itself.
> 
> If the call needs to manipulate multiple semaphores, or
> another caller is in a transaction that manipulates multiple
> semaphores, the sem_array lock is taken, as well as all the
> locks for the individual semaphores.
> 
> On a 24 CPU system, performance numbers with the semop-multi
> test with N threads and N semaphores, look like this:
> 
>       vanilla         Davidlohr's     Davidlohr's +   Davidlohr's +
> threads                       patches         rwlock patches  v3 patches
> 10    610652          726325          1783589         2142206
> 20    341570          365699          1520453         1977878
> 30    288102          307037          1498167         2037995
> 40    290714          305955          1612665         2256484
> 50    288620          312890          1733453         2650292
> 60    289987          306043          1649360         2388008
> 70    291298          306347          1723167         2717486
> 80    290948          305662          1729545         2763582
> 90    290996          306680          1736021         2757524
> 100   292243          306700          1773700         3059159
> 
> Signed-off-by: Rik van Riel <r...@redhat.com>
> Suggested-by: Linus Torvalds <torva...@linux-foundation.org>

Acked-by: Davidlohr Bueso <davidlohr.bu...@hp.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to