On Fri, Jun 23, 2006 at 05:31:44PM -0400, Benjamin LaHaise ([EMAIL PROTECTED]) wrote: > On Sat, Jun 24, 2006 at 01:08:27AM +0400, Evgeniy Polyakov wrote: > > On Fri, Jun 23, 2006 at 04:44:42PM -0400, Benjamin LaHaise ([EMAIL > > PROTECTED]) wrote: > > > > AIO completion approach was designed to be used with process context VFS > > > > update. read/write approach can not cover other types of notifications, > > > > like inode updates or timers. > > > > > > The completion event is 100% generic and does not need to come from > > > process > > > context. Calling aio_complete() from irq context is entirely valid. > > > > put_ioctx() can sleep. > > Err, no, that should definately not be the case. If it can, someone has > completely broken aio.
When reference counter hits zero it flushes aio workqueue, which can sleep. put_ioctx() -> __put_ioctx() -> cancel_delayed_work()/flush_workqueue(). It is there at least from 2.6.15 days (it is the oldest tree I can access using my extremely slow GPRS link). Hang the looter! > -ben -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html