diff options
Diffstat (limited to 'kernel/workqueue_internal.h')
| -rw-r--r-- | kernel/workqueue_internal.h | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/workqueue_internal.h b/kernel/workqueue_internal.h index 02549fa0458..cc35e7e6209 100644 --- a/kernel/workqueue_internal.h +++ b/kernel/workqueue_internal.h @@ -8,6 +8,7 @@  #define _KERNEL_WORKQUEUE_INTERNAL_H  #include <linux/workqueue.h> +#include <linux/kthread.h>  struct global_cwq;  struct worker_pool; @@ -44,6 +45,16 @@ struct worker {  	struct workqueue_struct	*rescue_wq;	/* I: the workqueue to rescue */  }; +/** + * current_wq_worker - return struct worker if %current is a workqueue worker + */ +static inline struct worker *current_wq_worker(void) +{ +	if (current->flags & PF_WQ_WORKER) +		return kthread_data(current); +	return NULL; +} +  /*   * Scheduler hooks for concurrency managed workqueue.  Only to be used from   * sched.c and workqueue.c.  |