diff options
author | Eric Dumazet <edumazet@google.com> | 2015-08-29 04:42:30 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-05 22:46:58 +0200 |
commit | c82199061009d1561e31e17fca5e47a87cb7ff4c (patch) | |
tree | 547ec8ef61b4d70c57ff478d9d1de4853c373d92 /drivers/base | |
parent | Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux (diff) | |
download | linux-c82199061009d1561e31e17fca5e47a87cb7ff4c.tar.xz linux-c82199061009d1561e31e17fca5e47a87cb7ff4c.zip |
task_work: remove fifo ordering guarantee
In commit f341861fb0b ("task_work: add a scheduling point in
task_work_run()") I fixed a latency problem adding a cond_resched()
call.
Later, commit ac3d0da8f329 added yet another loop to reverse a list,
bringing back the latency spike :
I've seen in some cases this loop taking 275 ms, if for example a
process with 2,000,000 files is killed.
We could add yet another cond_resched() in the reverse loop, or we
can simply remove the reversal, as I do not think anything
would depend on order of task_work_add() submitted works.
Fixes: ac3d0da8f329 ("task_work: Make task_work_add() lockless")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Maciej Żenczykowski <maze@google.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/base')
0 files changed, 0 insertions, 0 deletions