Re: [git pull] scheduler fixes

Matthew Wilcox
2008-05-11T14:48:31Z

On Sun, May 11, 2008 at 04:42:03PM +0200, Ingo Molnar wrote:
>
> * 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.
>
> 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.

That's what we did. l_flushsema is gone. It actually got replaced with
a condition variable, but it's equivalent to a wait_event()

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

Effectively, it's a completion. It just works better with staggered
wakeups than it does with the naive completion.

--
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."