[linux-pm] question on freeze and aio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday, 9 February 2007 23:08, Nigel Cunningham wrote:
> Hi.
> 
> On Fri, 2007-02-09 at 17:03 -0500, Alan Stern wrote:
> > On Sat, 10 Feb 2007, Nigel Cunningham wrote:
> > 
> > > Hi.
> > > 
> > > On Fri, 2007-02-09 at 17:04 +0100, Oliver Neukum wrote:
> > > > Hi,
> > > > 
> > > > can there be running aio requests if all tasks are frozen?
> > > 
> > > Since tasks are frozen, no new aio requests would be submitted. We do a
> > > sync to ssek to complete existing requests; I haven't looked to see
> > > whether that would need extending to flush aio as well, but don't think
> > > that would be the case. Given everyone else's silence, so far, you might
> > > be better to ask the author(s) of the aio code.
> > 
> > I believe Nigel is basically correct.  However sync will only flush aio 
> > for block devices.  Other types of aio will remain active.
> > 
> > aio callbacks are interrupt-driven and execute in a workqueue (see
> > fs/aio.c), and as far as I can tell that workqueue doesn't freeze.  
> > Unless some general facility freezes all workqueues...
> 
> Hmm. That applies to Raid, too? I've had some reports of raid i/o being
> caught in the BUG_ON() I have to catch I/O that shouldn't be happening,
> but haven't gotten around to looking at them yet.

Yes, I think it applies to RAID, but that's because md_thread has been made
PF_NOFREEZE explicitly, since we want to be able to save the image to an
md-based swap.

Pretty much everything that uses workqueues can do that, too.

Greetings,
Rafael


-- 
If you don't have the time to read,
you don't have the time or the tools to write.
		- Stephen King


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux