diff options
Diffstat (limited to 'kernel/workqueue_internal.h')
| -rw-r--r-- | kernel/workqueue_internal.h | 19 | 
1 files changed, 13 insertions, 6 deletions
| diff --git a/kernel/workqueue_internal.h b/kernel/workqueue_internal.h index 07650264ec1..ad83c96b2ec 100644 --- a/kernel/workqueue_internal.h +++ b/kernel/workqueue_internal.h @@ -29,16 +29,24 @@ struct worker {  	struct work_struct	*current_work;	/* L: work being processed */  	work_func_t		current_func;	/* L: current_work's fn */  	struct pool_workqueue	*current_pwq; /* L: current_work's pwq */ +	bool			desc_valid;	/* ->desc is valid */  	struct list_head	scheduled;	/* L: scheduled works */ + +	/* 64 bytes boundary on 64bit, 32 on 32bit */ +  	struct task_struct	*task;		/* I: worker task */  	struct worker_pool	*pool;		/* I: the associated pool */ -	/* 64 bytes boundary on 64bit, 32 on 32bit */ +						/* L: for rescuers */ +  	unsigned long		last_active;	/* L: last active timestamp */  	unsigned int		flags;		/* X: flags */  	int			id;		/* I: worker id */ -	/* for rebinding worker to CPU */ -	struct work_struct	rebind_work;	/* L: for busy worker */ +	/* +	 * Opaque string set with work_set_desc().  Printed out with task +	 * dump for debugging - WARN, BUG, panic or sysrq. +	 */ +	char			desc[WORKER_DESC_LEN];  	/* used only by rescuers to point to the target workqueue */  	struct workqueue_struct	*rescue_wq;	/* I: the workqueue to rescue */ @@ -58,8 +66,7 @@ static inline struct worker *current_wq_worker(void)   * Scheduler hooks for concurrency managed workqueue.  Only to be used from   * sched.c and workqueue.c.   */ -void wq_worker_waking_up(struct task_struct *task, unsigned int cpu); -struct task_struct *wq_worker_sleeping(struct task_struct *task, -				       unsigned int cpu); +void wq_worker_waking_up(struct task_struct *task, int cpu); +struct task_struct *wq_worker_sleeping(struct task_struct *task, int cpu);  #endif /* _KERNEL_WORKQUEUE_INTERNAL_H */ | 
