In which situations is create_freezeable_workqueue() to be preferred
over create_singlethread_workqueue()?
Is a freezable worqueue preferable whenever the worker thread /can/ be
frozen, or is it only to be used if the thread /must/ be frozen during
suspend?
Thanks,
--
Stefan Richter
-=====-=-=== =--- -==--
http://arcgraph.de/sr/
On Sunday, 12 August 2007 10:11, Stefan Richter wrote:
> In which situations is create_freezeable_workqueue() to be preferred
> over create_singlethread_workqueue()?
>
> Is a freezable worqueue preferable whenever the worker thread /can/ be
> frozen, or is it only to be used if the thread /must/ be frozen during
> suspend?
The latter, IMO.
Generally, if you want it to be frozen.
Greetings,
Rafael
On Mon, 13 Aug 2007, Rafael J. Wysocki wrote:
> On Sunday, 12 August 2007 10:11, Stefan Richter wrote:
> > In which situations is create_freezeable_workqueue() to be preferred
> > over create_singlethread_workqueue()?
> >
> > Is a freezable worqueue preferable whenever the worker thread /can/ be
> > frozen, or is it only to be used if the thread /must/ be frozen during
> > suspend?
>
> The latter, IMO.
>
> Generally, if you want it to be frozen.
A good example of a reason for making a workqueue freezable is that the
workqueue contains entries which would cause a suspended device to be
resumed. Obviously you don't want such things to happen while the
system is going to sleep. A little less obviously, there might also be
problems if such a routine ran while the system was waking up.
Another reason might be that the workqueue contains entries which would
try to register or unregister a device. Such actions aren't a good
idea at times when the PM core is iterating through a list of all
devices in order to suspend or resume them. And in the future such
actions may block, effectively freezing the workqueue anyway -- which
could be troublesome if you don't want the workqueue to be frozen!
Alan Stern