diff options
| author | Mark Brown <broonie@kernel.org> | 2015-09-16 20:44:25 +0100 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2015-09-16 20:44:25 +0100 |
| commit | 92243b6fc8fcb16bf401b055f7a0ba79f70a4115 (patch) | |
| tree | 08e9fa205efb9bfab23b6ea59fc0a3eaa3fed82b /kernel/task_work.c | |
| parent | a394d635193b641f2c86ead5ada5b115d57c51f8 (diff) | |
| parent | 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f (diff) | |
Merge tag 'v4.3-rc1' into spi-fix-doc
Linux 4.3-rc1
Diffstat (limited to 'kernel/task_work.c')
| -rw-r--r-- | kernel/task_work.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/kernel/task_work.c b/kernel/task_work.c index 8727032e3a6f..53fa971d000d 100644 --- a/kernel/task_work.c +++ b/kernel/task_work.c @@ -18,6 +18,8 @@ static struct callback_head work_exited; /* all we need is ->next == NULL */ * This is like the signal handler which runs in kernel mode, but it doesn't * try to wake up the @task. * + * Note: there is no ordering guarantee on works queued here. + * * RETURNS: * 0 if succeeds or -ESRCH. */ @@ -108,16 +110,6 @@ void task_work_run(void) raw_spin_unlock_wait(&task->pi_lock); smp_mb(); - /* Reverse the list to run the works in fifo order */ - head = NULL; - do { - next = work->next; - work->next = head; - head = work; - work = next; - } while (work); - - work = head; do { next = work->next; work->func(work); |
