Re: Suspend not working with SATA:

From: Nigel Cunningham
Date: Mon Dec 15 2003 - 13:56:20 EST


Hi.

Set PF_IOTHREAD on the task's flags instead. That will allow it to run
during suspending.

Regards,

Nigel

On Tue, 2003-12-16 at 04:18, Jeff Garzik wrote:
> Witold Krecicki wrote:
> > Stopping tasks:
> > ==================================================================
> > stopping tasks failed (2 tasks remaining)
> > Restarting tasks...<6> Strange, katad-1 not stopped
> > Strange, katad-2 not stopped
> > done
>
>
> Both Pavel Machek and I posted test patches to address this...
> basically, because of the design of swsusp, you must copy-n-paste the
> following code into every single kernel thread:
>
> if (current->flags & PF_FREEZE)
> refrigerator(PF_IOTHREAD);
>
> But I consider suspend untested at best... for reboot and suspend the
> driver should issue flush-cache and other things beyond simply freezing
> the kernel thread. Further, suspending will suck if the kernel thread
> itself is the one doing I/O on behalf of the driver. This occurs if the
> transfer mode is PIO rather than DMA.
>
> Jeff
>
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
My work on Software Suspend is graciously brought to you by
LinuxFund.org.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/