Re: [RFC] Add support for semaphore-like structure with support for asynchronous I/O

From: Suparna Bhattacharya
Date: Fri Apr 01 2005 - 09:04:03 EST


On Thu, Mar 31, 2005 at 08:22:17PM -0500, Trond Myklebust wrote:
> to den 31.03.2005 Klokka 16:13 (-0800) skreiv Andrew Morton:
> > Trond Myklebust <trondmy@xxxxxxxxxxxxx> 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.

I'll take a look at the patch over the weekend. I had a patch
for aio semaphores a long while back, but I need to spend some time
to understand how different this is.

Regards
Suparna

>
> > 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 <trond.myklebust@xxxxxxxxxx>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Suparna Bhattacharya (suparna@xxxxxxxxxx)
Linux Technology Center
IBM Software Lab, India

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/