diff options
author | Tejun Heo <tj@kernel.org> | 2012-12-21 17:57:00 -0800 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2013-02-09 11:32:42 -0800 |
commit | ad72b3bea744b4db01c89af0f86f3e8920d354df (patch) | |
tree | 8482593d6330783150e88ff7181a1484d3156265 /block/blk-merge.c | |
parent | 7c99e0bf86fdc1dee238eb6e213b980f887b68f1 (diff) | |
download | linux-ad72b3bea744b4db01c89af0f86f3e8920d354df.tar.bz2 |
kprobes: fix wait_for_kprobe_optimizer()
wait_for_kprobe_optimizer() seems largely broken. It uses
optimizer_comp which is never re-initialized, so
wait_for_kprobe_optimizer() will never wait for anything once
kprobe_optimizer() finishes all pending jobs for the first time.
Also, aside from completion, delayed_work_pending() is %false once
kprobe_optimizer() starts execution and wait_for_kprobe_optimizer()
won't wait for it.
Reimplement it so that it flushes optimizing_work until
[un]optimizing_lists are empty. Note that this also makes
optimizing_work execute immediately if someone's waiting for it, which
is the nicer behavior.
Only compile tested.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: "David S. Miller" <davem@davemloft.net>
Diffstat (limited to 'block/blk-merge.c')
0 files changed, 0 insertions, 0 deletions