diff options
author | Tejun Heo <tj@kernel.org> | 2010-10-14 19:55:22 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-10-24 17:20:01 -0400 |
commit | 6cebb17beece746de86793cd549e84740896cf4a (patch) | |
tree | 6f5a3ee1ab6ee0147688f7e2343055645f7a64e7 /include/linux/connector.h | |
parent | 229aebb873e29726b91e076161649cf45154b0bf (diff) |
connector: remove lazy workqueue creation
Commit 1a5645bc (connector: create connector workqueue only while
needed once) implements lazy workqueue creation for connector
workqueue. With cmwq now in place, lazy workqueue creation doesn't
make much sense while adding a lot of complexity. Remove it and
allocate an ordered workqueue during initialization.
This also removes a call to flush_scheduled_work() which is deprecated
and scheduled to be removed.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/connector.h')
-rw-r--r-- | include/linux/connector.h | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/include/linux/connector.h b/include/linux/connector.h index 3a779ffba60b..7e8ca75d2dad 100644 --- a/include/linux/connector.h +++ b/include/linux/connector.h | |||
@@ -88,12 +88,6 @@ struct cn_queue_dev { | |||
88 | unsigned char name[CN_CBQ_NAMELEN]; | 88 | unsigned char name[CN_CBQ_NAMELEN]; |
89 | 89 | ||
90 | struct workqueue_struct *cn_queue; | 90 | struct workqueue_struct *cn_queue; |
91 | /* Sent to kevent to create cn_queue only when needed */ | ||
92 | struct work_struct wq_creation; | ||
93 | /* Tell if the wq_creation job is pending/completed */ | ||
94 | atomic_t wq_requested; | ||
95 | /* Wait for cn_queue to be created */ | ||
96 | wait_queue_head_t wq_created; | ||
97 | 91 | ||
98 | struct list_head queue_list; | 92 | struct list_head queue_list; |
99 | spinlock_t queue_lock; | 93 | spinlock_t queue_lock; |
@@ -141,8 +135,6 @@ int cn_netlink_send(struct cn_msg *, u32, gfp_t); | |||
141 | int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(struct cn_msg *, struct netlink_skb_parms *)); | 135 | int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(struct cn_msg *, struct netlink_skb_parms *)); |
142 | void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id); | 136 | void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id); |
143 | 137 | ||
144 | int queue_cn_work(struct cn_callback_entry *cbq, struct work_struct *work); | ||
145 | |||
146 | struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *); | 138 | struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *); |
147 | void cn_queue_free_dev(struct cn_queue_dev *dev); | 139 | void cn_queue_free_dev(struct cn_queue_dev *dev); |
148 | 140 | ||