diff options
author | Gilad Ben-Yossef <[email protected]> | 2012-03-28 14:42:43 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2012-03-28 17:14:35 -0700 |
commit | b3a7e98e024ffa9f7e4554dd720c508015c4a831 (patch) | |
tree | 50c09e1a47418ba4bb55b11f756bf4d99cf76123 /net/lapb/lapb_timer.c | |
parent | 3fc498f165304dc913f1d13b5ac9ab4c758ee7ab (diff) |
smp: add func to IPI cpus based on parameter func
Add the on_each_cpu_cond() function that wraps on_each_cpu_mask() and
calculates the cpumask of cpus to IPI by calling a function supplied as a
parameter in order to determine whether to IPI each specific cpu.
The function works around allocation failure of cpumask variable in
CONFIG_CPUMASK_OFFSTACK=y by itereating over cpus sending an IPI a time
via smp_call_function_single().
The function is useful since it allows to seperate the specific code that
decided in each case whether to IPI a specific cpu for a specific request
from the common boilerplate code of handling creating the mask, handling
failures etc.
[[email protected]: s/gfpflags/gfp_flags/]
[[email protected]: avoid double-evaluation of `info' (per Michal), parenthesise evaluation of `cond_func']
[[email protected]: s/CPU/CPUs, use all 80 cols in comment]
Signed-off-by: Gilad Ben-Yossef <[email protected]>
Cc: Chris Metcalf <[email protected]>
Cc: Christoph Lameter <[email protected]>
Acked-by: Peter Zijlstra <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Russell King <[email protected]>
Cc: Pekka Enberg <[email protected]>
Cc: Matt Mackall <[email protected]>
Cc: Sasha Levin <[email protected]>
Cc: Rik van Riel <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Alexander Viro <[email protected]>
Cc: Avi Kivity <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Cc: Kosaki Motohiro <[email protected]>
Cc: Milton Miller <[email protected]>
Reviewed-by: "Srivatsa S. Bhat" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions