NAME flush_workqueue - ensure that any scheduled work has run to completion.

SYNOPSIS void flush_workqueue(struct workqueue_struct * wq);

ARGUMENTS wq workqueue to flush

DESCRIPTION Forces execution of the workqueue and blocks until its completion. This is typically used in driver shutdown handlers.

We sleep until all works which were queued on entry have been handled, but we are not livelocked by new incoming ones.

This function used to run the workqueues itself. Now we just wait for the helper threads to do it.

COPYRIGHT Kernel Hackers Manual 2.6. May 2011 FLUSH_WORKQUEUE(9)