public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: aio_down() patch series -- cancellation support added
       [not found] <20050620213835.GA6628@kvack.org>
@ 2005-06-20 21:46 ` Benjamin LaHaise
  2005-06-23 13:29   ` Suparna Bhattacharya
  0 siblings, 1 reply; 3+ messages in thread
From: Benjamin LaHaise @ 2005-06-20 21:46 UTC (permalink / raw)
  To: linux-aio; +Cc: linux-kernel

Add linux-kernel to the Cc list...

On Mon, Jun 20, 2005 at 05:38:35PM -0400, Benjamin LaHaise wrote:
> Hello all,
> 
> The patch series at http://www.kvack.org/~bcrl/patches/aio-2.6.12-A1/ 
> now adds support for cancellation of an aio_down() operation.  The 
> races should be correctly handled by introducing per-kiocb locking 
> that serialises ->ki_cancel() and ->ki_retry().  The interesting patch 
> additions are 40_lock_kiocb 50_aio_down_cancel.diff.  Comments?
> 
> 		-ben
> -- 
> "Time is what keeps everything from happening all at once." -- John Wheeler
> --
> To unsubscribe, send a message with 'unsubscribe linux-aio' in
> the body to majordomo@kvack.org.  For more info on Linux AIO,
> see: http://www.kvack.org/aio/
> Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>

-- 
"Time is what keeps everything from happening all at once." -- John Wheeler

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: aio_down() patch series -- cancellation support added
  2005-06-20 21:46 ` aio_down() patch series -- cancellation support added Benjamin LaHaise
@ 2005-06-23 13:29   ` Suparna Bhattacharya
  2005-06-23 16:41     ` Benjamin LaHaise
  0 siblings, 1 reply; 3+ messages in thread
From: Suparna Bhattacharya @ 2005-06-23 13:29 UTC (permalink / raw)
  To: Benjamin LaHaise; +Cc: linux-aio, linux-kernel

On Mon, Jun 20, 2005 at 05:46:14PM -0400, Benjamin LaHaise wrote:
> Add linux-kernel to the Cc list...
> 
> On Mon, Jun 20, 2005 at 05:38:35PM -0400, Benjamin LaHaise wrote:
> > Hello all,
> > 
> > The patch series at http://www.kvack.org/~bcrl/patches/aio-2.6.12-A1/ 
> > now adds support for cancellation of an aio_down() operation.  The 
> > races should be correctly handled by introducing per-kiocb locking 
> > that serialises ->ki_cancel() and ->ki_retry().  The interesting patch 
> > additions are 40_lock_kiocb 50_aio_down_cancel.diff.  Comments?
> > 
> > 		-ben
> > -- 

One quick question.
Since lock_kiocb() may block, does that mean that the aio worker thread
could be put to sleep while an iocb cancellation is in progress, even though
there may be other iocbs/ioctx's to process ?

Looking at the rest a little more closely in terms of how everything
will fit together, a few questions come to mind - need to think
about it a little more. I guess the main reason you need the aio_down_wait
callback is to make sure the semaphore is grabbed right in the context
of the wakeup rather than at retry time, is that correct ?

Regards
Suparna

-- 
Suparna Bhattacharya (suparna@in.ibm.com)
Linux Technology Center
IBM Software Lab, India


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: aio_down() patch series -- cancellation support added
  2005-06-23 13:29   ` Suparna Bhattacharya
@ 2005-06-23 16:41     ` Benjamin LaHaise
  0 siblings, 0 replies; 3+ messages in thread
From: Benjamin LaHaise @ 2005-06-23 16:41 UTC (permalink / raw)
  To: Suparna Bhattacharya; +Cc: linux-aio, linux-kernel

On Thu, Jun 23, 2005 at 06:59:26PM +0530, Suparna Bhattacharya wrote:
> One quick question.
> Since lock_kiocb() may block, does that mean that the aio worker thread
> could be put to sleep while an iocb cancellation is in progress, even though
> there may be other iocbs/ioctx's to process ?

It's mostly to deal with the case in the other direction: an iocb that is 
in the process of being cancelled somehow needs to block any retries from 
occurring.  Likewise, if a retry was in progress, the cancellation needs 
to be blocked until that retry is complete.  It should be sufficiently 
rare that it's not a problem, but we may have to revisit the issue as more 
cancel methods get written.

> Looking at the rest a little more closely in terms of how everything
> will fit together, a few questions come to mind - need to think
> about it a little more. I guess the main reason you need the aio_down_wait
> callback is to make sure the semaphore is grabbed right in the context
> of the wakeup rather than at retry time, is that correct ?

Yes, that way the retry method is only called if it will make progress, 
and we will not have a thundering herd problem.  I'm debugging the changes 
needed to implement async pipes using aio_down(), and the patch so far 
looks pretty straightforward.

		-ben
-- 
"Time is what keeps everything from happening all at once." -- John Wheeler

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-06-23 16:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20050620213835.GA6628@kvack.org>
2005-06-20 21:46 ` aio_down() patch series -- cancellation support added Benjamin LaHaise
2005-06-23 13:29   ` Suparna Bhattacharya
2005-06-23 16:41     ` Benjamin LaHaise

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox