more on work queues -- why is deprecated "flush_scheduled_work" still used?
Robert P. J. Day
rpjday at crashcourse.ca
Sat Oct 20 07:20:38 EDT 2012
followup to my earlier post looking for clarification -- i was a bit
confused by the kernel-wide nature of the flush_scheduled_work() call,
and poked around until i found this:
$ git show 3d7851b3
commit 3d7851b3cdd43a734e5cc4c643fd886ab28ad4d5
Author: Tejun Heo <tj at kernel.org>
Date: Fri Oct 15 09:51:08 2010 -0400
oprofile: Remove deprecated use of flush_scheduled_work()
flush_scheduled_work() is deprecated and scheduled to be removed.
... snip ...
so even as far back as 2010, that routine had been labelled as
"deprecated", but there's still a fair bit of it in the source tree.
in fact, it's still being *added*:
$ git blame drivers/infiniband/hw/mlx4/cm.c
... snip ...
3cf69cc8 (Amir Vadai 2012-08-03 08:40:47 +0000 392) if (!need_flush)
3cf69cc8 (Amir Vadai 2012-08-03 08:40:47 +0000 393) flush_scheduled_work(); /* make sure all timers were flushed */
... snip ...
is there anything that talks about the current state of this
kernel-wide work queue, and the proper way to use it? it certainly
seems like anyone (including drivers) that truly need a work queue
should be creating their own, no?
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
More information about the Kernelnewbies
mailing list