lkml.org 
[lkml]   [2005]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: aio_down() patch series -- cancellation support added
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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-06-23 18:43    [W:0.032 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site