Commit-ID: c3f7f2c7eba1a53d2e5ffbc2dcc9a20c5f094890 Gitweb: https://git.kernel.org/tip/c3f7f2c7eba1a53d2e5ffbc2dcc9a20c5f094890 Author: Rik van Riel <riel@xxxxxxxxxxx> AuthorDate: Tue, 25 Sep 2018 23:58:40 -0400 Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx> CommitDate: Tue, 9 Oct 2018 16:51:11 +0200 smp: use __cpumask_set_cpu in on_each_cpu_cond The code in on_each_cpu_cond sets CPUs in a locally allocated bitmask, which should never be used by other CPUs simultaneously. There is no need to use locked memory accesses to set the bits in this bitmap. Switch to __cpumask_set_cpu. Cc: npiggin@xxxxxxxxx Cc: mingo@xxxxxxxxxx Cc: will.deacon@xxxxxxx Cc: songliubraving@xxxxxx Cc: kernel-team@xxxxxx Cc: hpa@xxxxxxxxx Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxxx> Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20180926035844.1420-4-riel@xxxxxxxxxxx --- kernel/smp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/smp.c b/kernel/smp.c index d86eec5f51c1..a7d4f9f50a49 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -682,7 +682,7 @@ void on_each_cpu_cond(bool (*cond_func)(int cpu, void *info), preempt_disable(); for_each_online_cpu(cpu) if (cond_func(cpu, info)) - cpumask_set_cpu(cpu, cpus); + __cpumask_set_cpu(cpu, cpus); on_each_cpu_mask(cpus, func, info, wait); preempt_enable(); free_cpumask_var(cpus);
![]() |