aboutsummaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2009-09-05 11:17:06 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-09-05 11:30:42 -0700
commit4e49627b9bc29a14b393c480e8c979e3bc922ef7 (patch)
tree209b69da65abbbffb7abeaea60f17d46f38485fe /mm
parent37d0892c5a94e208cf863e3b7bac014edee4346d (diff)
workqueues: introduce __cancel_delayed_work()
cancel_delayed_work() has to use del_timer_sync() to guarantee the timer function is not running after return. But most users doesn't actually need this, and del_timer_sync() has problems: it is not useable from interrupt, and it depends on every lock which could be taken from irq. Introduce __cancel_delayed_work() which calls del_timer() instead. The immediate reason for this patch is http://bugzilla.kernel.org/show_bug.cgi?id=13757 but hopefully this helper makes sense anyway. As for 13757 bug, actually we need requeue_delayed_work(), but its semantics are not yet clear. Merge this patch early to resolves cross-tree interdependencies between input and infiniband. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Roland Dreier <rdreier@cisco.com> Cc: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions