Re: [git pull] scheduler fixes

Ingo Molnar
2008-05-11T14:42:34Z

* Matthew Wilcox <matthew@wil.cx> wrote:

> > > Current XFS CVS has a fix from myself and Christoph that gets rid
> > > of the l_flushsema and replaces it with a staggered wakeup of each
> > > task that's waiting as the previously woken task clears the
> > > critical section.
> >
> > the solution is to reduce semaphore usage by converting them to
> > mutexes. Is anyone working on removing legacy semaphore use from
> > XFS?
>
> This race is completely irrelevant to converting semaphores to
> mutexes. [...]

i was not talking about the race. I was just reacting on your comments
about thundering herds and staggered wakeups - which is a performance
detail. Semaphores should not regress AIM7 by 50% but otherwise they are
legacy code and their use should be reduced monotonically, so i was
asking why anyone still cares about tuning semaphore details in XFS
instead of just working on removing semaphore use from them.

> [...] It can only occur for semaphores which /can't/ be converted to
> mutexes.

exactly what usecase is that? Perhaps it could be converted to an atomic
counter + the wait_event() APIs.

Ingo