diff options
author | Bart Van Assche <bart.vanassche@gmail.com> | 2009-07-30 19:00:53 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-08-04 15:21:16 +0200 |
commit | 5b0f437df0a3e374d26ad533eb78fe64744f55a8 (patch) | |
tree | b450a583c3fea39baac8cdea13b152634cdea121 /kernel/workqueue.c | |
parent | a33a052f19a21d727847391c8c1aff3fb221c472 (diff) | |
download | lwn-5b0f437df0a3e374d26ad533eb78fe64744f55a8.tar.gz lwn-5b0f437df0a3e374d26ad533eb78fe64744f55a8.zip |
workqueues: Improve schedule_work() documentation
Two important aspects of the schedule_work() function are not
yet documented:
- that it is allowed to pass a struct work_struct * to this
function that is already on the kernel-global workqueue;
- the meaning of its return value.
The patch below documents both aspects.
Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com>
Cc: "Greg Kroah-Hartman" <gregkh@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
LKML-Reference: <200907301900.54202.bart.vanassche@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r-- | kernel/workqueue.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 0668795d8818..3c44b56b0da7 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -600,7 +600,12 @@ static struct workqueue_struct *keventd_wq __read_mostly; * schedule_work - put work task in global workqueue * @work: job to be done * - * This puts a job in the kernel-global workqueue. + * Returns zero if @work was already on the kernel-global workqueue and + * non-zero otherwise. + * + * This puts a job in the kernel-global workqueue if it was not already + * queued and leaves it in the same position on the kernel-global + * workqueue otherwise. */ int schedule_work(struct work_struct *work) { |