summaryrefslogtreecommitdiff
path: root/kernel/sched_stats.h
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2011-04-27 19:18:39 +0200
committerOleg Nesterov <oleg@redhat.com>2011-04-28 13:01:35 +0200
commitf646e227b88a164a841d6b6dd969d8a45272dd83 (patch)
treebd11235d720e384efc20e01f116bbf904ca58b4f /kernel/sched_stats.h
parent0edceb7bcd82802f721f3c94eed9b3e2869d3740 (diff)
signal: retarget_shared_pending: consider shared/unblocked signals only
exit_signals() checks signal_pending() before retarget_shared_pending() but this is suboptimal. We can avoid the while_each_thread() loop in case when there are no shared signals visible to us. Add the "shared_pending.signal & ~blocked" check. We don't use tsk->blocked directly but pass ~blocked as an argument, this is needed for the next patch. Note: we can optimize this more. while_each_thread(t) can check t->blocked into account and stop after every pending signal has the new target, see the next patch. 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 'kernel/sched_stats.h')
0 files changed, 0 insertions, 0 deletions