Presence of Workqueues



A typical grep over the kernel code will get you to two sets of workqueue interface users the old and the new.. This is because of its rich development history…

Due to its development history, there currently are two sets of interfaces to create workqueues.

  • Old: create[_singlethread|_freezable]_workqueue()
  • New: alloc[_ordered]_workqueue()

Legacy workqueue interface users are scheduled for removal.. My Outreachy project was to remove 280 legacy workqueue interface users.Screenshot from 2016-08-28 01:42:43

Create_workqueue, create_singlethread_workqueue, create_freezable_workqueue, constituted the legacy workqueue interface which was used before 2010. From 2010,  the concurrency managed workqueues were designed which consisted of alloc_workqueue and  alloc_ordered_workqueue…

Hence, the kernel today has occurrences of both the legacy and new workqueue interface, which wouldn’t be the case for very long since my outreachy project was to perform various conversions to remove the deprecated workqueue instances 🙂


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s