History

workqueue: move struct worker definition to workqueue_internal.h

This will be used to implement an inline function to query whether %current is a workqueue worker and, if so, allow determining which work item it's executing.

Tejun Heo committed 13 years ago

Commit 2eaebdb1 parent ea138442 files · +38 −31Browse files

Showing the changes to kernel/workqueue.c (1 of 2 files). Show all

Unified · Split

kernel/workqueue.c+1−31
@@ -122,37 +122,7 @@ enum { · 121 unmodified lines
122122 * W: workqueue_lock protected.
123123 */
124124
125−struct global_cwq;
126−struct worker_pool;
127−
128−/*
129− * The poor guys doing the actual heavy lifting. All on-duty workers
130− * are either serving the manager role, on idle list or on busy hash.
131− */
132−struct worker {
133− /* on idle list while idle, on busy hash table while busy */
134− union {
135− struct list_head entry; /* L: while idle */
136− struct hlist_node hentry; /* L: while busy */
137− };
138−
139− struct work_struct *current_work; /* L: work being processed */
140− work_func_t current_func; /* L: current_work's fn */
141− struct cpu_workqueue_struct *current_cwq; /* L: current_work's cwq */
142− struct list_head scheduled; /* L: scheduled works */
143− struct task_struct *task; /* I: worker task */
144− struct worker_pool *pool; /* I: the associated pool */
145− /* 64 bytes boundary on 64bit, 32 on 32bit */
146− unsigned long last_active; /* L: last active timestamp */
147− unsigned int flags; /* X: flags */
148− int id; /* I: worker id */
149−
150− /* for rebinding worker to CPU */
151− struct work_struct rebind_work; /* L: for busy worker */
152−
153− /* used only by rescuers to point to the target workqueue */
154− struct workqueue_struct *rescue_wq; /* I: the workqueue to rescue */
155−};
125+/* struct worker is defined in workqueue_internal.h */
156126
157127 struct worker_pool {
158128 struct global_cwq *gcwq; /* I: the owning gcwq */