summaryrefslogtreecommitdiff
path: root/include/linux/signal.h
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2011-04-27 21:50:21 +0400
committerOleg Nesterov <oleg@redhat.com>2011-04-28 15:01:35 +0400
commitfec9993db093acfc3999a364e31f8adae41fcb28 (patch)
tree6398e6f0d811128cb46c04ec631f3dcc6075728a /include/linux/signal.h
parentf646e227b88a164a841d6b6dd969d8a45272dd83 (diff)
downloadlinux-fec9993db093acfc3999a364e31f8adae41fcb28.tar.xz
signal: retarget_shared_pending: optimize while_each_thread() loop
retarget_shared_pending() blindly does recalc_sigpending_and_wake() for every sub-thread, this is suboptimal. We can check t->blocked and stop looping once every bit in shared_pending has the new target. Note: we do not take task_is_stopped_or_traced(t) into account, we are not trying to speed up the signal delivery or to avoid the unnecessary (but harmless) signal_wake_up(0) in this unlikely case. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Reviewed-by: Matt Fleming <matt.fleming@linux.intel.com> Acked-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include/linux/signal.h')
0 files changed, 0 insertions, 0 deletions