to den 31.03.2005 Klokka 16:13 (-0800) skreiv Andrew Morton: > Trond Myklebust <[EMAIL PROTECTED]> wrote: > > > > on den 30.03.2005 Klokka 18:17 (-0500) skreiv Trond Myklebust: > > > > Or have I misunderstood the intent? Some /* comments */ would be > > appropriate.. > > > > > > Will do. > > > > OK. Plenty of comments added that will hopefully clarify what is going > > on and how to use the API. Also some cleanups of the code. > > Ah, so that's what it does ;) > > I guess once we have a caller in-tree we could merge this. I wonder if > there's other existing code which should be converted to iosems.
I can put it into the NFS client stream which feeds into the -mm kernel. That will enable me to queue up the NFSv4 patches that depend on it too... > You chose to not use the aio kernel threads? I thought I'd do that in a separate patch since the aio workqueue is currently statically defined in aio.c. > Does iosem_lock_and_schedule_function() need locking? It nonatomically > alters *lk_state. iosem_lock_and_schedule_function() will always be called with the iosem->wait.lock held, since it is a waitqueue notification function. In practice it is called by iosem_unlock(). The call to wake_up_locked() will trigger a call to __wake_up_common() which again tries the notification function of each waiter on the queue until it finds one that succeeds. Cheers, Trond -- Trond Myklebust <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/