1,5 → 1,39 |
/* |
* kernel/workqueue.c - generic async execution with shared worker pool |
* |
* Copyright (C) 2002 Ingo Molnar |
* |
* Derived from the taskqueue/keventd code by: |
* David Woodhouse <dwmw2@infradead.org> |
* Andrew Morton |
* Kai Petzke <wpp@marie.physik.tu-berlin.de> |
* Theodore Ts'o <tytso@mit.edu> |
* |
* Made to use alloc_percpu by Christoph Lameter. |
* |
* Copyright (C) 2010 SUSE Linux Products GmbH |
* Copyright (C) 2010 Tejun Heo <tj@kernel.org> |
* |
* This is the generic async execution mechanism. Work items as are |
* executed in process context. The worker pool is shared and |
* automatically managed. There are two worker pools for each CPU (one for |
* normal work items and the other for high priority ones) and some extra |
* pools for workqueues which are not bound to any specific CPU - the |
* number of these backing pools is dynamic. |
* |
* Please read Documentation/workqueue.txt for details. |
*/ |
|
#include <linux/export.h> |
#include <linux/kernel.h> |
#include <linux/sched.h> |
#include <linux/completion.h> |
#include <linux/workqueue.h> |
#include <linux/slab.h> |
#include <linux/lockdep.h> |
#include <linux/idr.h> |
|
|
#include <ddk.h> |
|
extern int driver_wq_state; |