Discussion:
When to use a freezeable workqueue?
(too old to reply)
Stefan Richter
2007-08-12 08:20:13 UTC
Permalink
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/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Rafael J. Wysocki
2007-08-12 22:10:13 UTC
Permalink
Post by Stefan Richter
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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Alan Stern
2007-08-13 02:30:14 UTC
Permalink
Post by Rafael J. Wysocki
Post by Stefan Richter
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

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

Loading...