On Wed, Apr 30, 2008 at 08:41:25PM +1000, David Chinner wrote:
> The only thing that I'm concerned about here is that this will
> substantially increase the time the l_icloglock is held. This is
> a severely contended lock on large cpu count machines and putting
> the wakeup inside this lock will increase the hold time.
> I guess I can address this by adding a new lock for the waitqueue
> in a separate patch set.
waitqueues are loked internally and don't need synchronization. With
a little bit of re-arranging the code the wake_up could probably be
moved out of the critical section.