mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
unify flush_work/flush_work_keventd and rename it to cancel_work_sync
flush_work(wq, work) doesn't need the first parameter, we can use cwq->wq (this was possible from the very beginnig, I missed this). So we can unify flush_work_keventd and flush_work. Also, rename flush_work() to cancel_work_sync() and fix all callers. Perhaps this is not the best name, but "flush_work" is really bad. (akpm: this is why the earlier patches bypassed maintainers) Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Cc: Jeff Garzik <jeff@garzik.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: Tejun Heo <htejun@gmail.com> Cc: Auke Kok <auke-jan.h.kok@intel.com>, Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
5830c59021
commit
28e53bddf8
9 changed files with 41 additions and 40 deletions
|
@ -128,30 +128,33 @@ extern struct workqueue_struct *__create_workqueue(const char *name,
|
|||
extern void destroy_workqueue(struct workqueue_struct *wq);
|
||||
|
||||
extern int FASTCALL(queue_work(struct workqueue_struct *wq, struct work_struct *work));
|
||||
extern int FASTCALL(queue_delayed_work(struct workqueue_struct *wq, struct delayed_work *work, unsigned long delay));
|
||||
extern int FASTCALL(queue_delayed_work(struct workqueue_struct *wq,
|
||||
struct delayed_work *work, unsigned long delay));
|
||||
extern int queue_delayed_work_on(int cpu, struct workqueue_struct *wq,
|
||||
struct delayed_work *work, unsigned long delay);
|
||||
struct delayed_work *work, unsigned long delay);
|
||||
|
||||
extern void FASTCALL(flush_workqueue(struct workqueue_struct *wq));
|
||||
extern void flush_work(struct workqueue_struct *wq, struct work_struct *work);
|
||||
extern void flush_work_keventd(struct work_struct *work);
|
||||
extern void flush_scheduled_work(void);
|
||||
|
||||
extern int FASTCALL(schedule_work(struct work_struct *work));
|
||||
extern int FASTCALL(schedule_delayed_work(struct delayed_work *work, unsigned long delay));
|
||||
|
||||
extern int schedule_delayed_work_on(int cpu, struct delayed_work *work, unsigned long delay);
|
||||
extern int FASTCALL(schedule_delayed_work(struct delayed_work *work,
|
||||
unsigned long delay));
|
||||
extern int schedule_delayed_work_on(int cpu, struct delayed_work *work,
|
||||
unsigned long delay);
|
||||
extern int schedule_on_each_cpu(work_func_t func);
|
||||
extern void flush_scheduled_work(void);
|
||||
extern int current_is_keventd(void);
|
||||
extern int keventd_up(void);
|
||||
|
||||
extern void init_workqueues(void);
|
||||
int execute_in_process_context(work_func_t fn, struct execute_work *);
|
||||
|
||||
extern void cancel_work_sync(struct work_struct *work);
|
||||
|
||||
/*
|
||||
* Kill off a pending schedule_delayed_work(). Note that the work callback
|
||||
* function may still be running on return from cancel_delayed_work(), unless
|
||||
* it returns 1 and the work doesn't re-arm itself. Run flush_workqueue() or
|
||||
* flush_work() or cancel_work_sync() to wait on it.
|
||||
* cancel_work_sync() to wait on it.
|
||||
*/
|
||||
static inline int cancel_delayed_work(struct delayed_work *work)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue