Messages in this thread | | | Date | Fri, 20 Nov 2020 13:38:28 -0800 | From | Davidlohr Bueso <> | Subject | Re: [RFC PATCH 5/5] locking/rwsem: Remove reader optimistic spinning |
| |
On Fri, 20 Nov 2020, David Laight wrote: >I got massive performance improvements from changing a driver >we have to use mutex instead of the old semaphores (the driver >was written a long time ago). > >While these weren't 'rw' the same issue will apply. > >The problem was that the semaphore/mutex was typically only held over >a few instructions (eg to add an item to a list). >But with semaphore if you got contention the process always slept. >OTOH mutex spin 'for a while' before sleeping so the code rarely slept.
The caveat here is if you are using trylock/unlock from irq, which is the only reason why regular semaphores are still around today. If not, indeed a mutex is better.
Thanks, Davidlohr
| |