I've recently started reading about workqueues and the code involved to create workqueues in the Linux Kernel.
Workqueues are basically scheduling work on multiple CPUs to concurrently execute a series of tasks based on the queue.
We have create_*workqueue()
which is now depracated and is being replaced by alloc_*workqueue()
There are a couple of flags which are given in the documentation on workqueues here. These flags are used in alloc_*workqueue
Though I read the documentation provided by the Linux Kernel, I'm still a little unclear on how WQ_MEM_RECLAIM flag works.
What is queue_delayed_work()
, __cancel_delayed_work()
and mod_delayed_work()
and how are they related or different from create/alloc_*workqueue
Note: I'm new to the linux kernel and have limited knowledge of operating systems, so please bear with me and explain in as simplified version as possible.