* 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