aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic/apic_flat_64.c
diff options
context:
space:
mode:
authorNadav Amit <namit@vmware.com>2019-06-12 23:48:13 -0700
committerThomas Gleixner <tglx@linutronix.de>2019-06-23 14:07:23 +0200
commitdde3626f815e38bbf96fddd5185038c4b4d395a8 (patch)
treeb1f5afd13569b62d7b49da4f7e2a9dc1163db1bd /arch/x86/kernel/apic/apic_flat_64.c
parentx86/apic: Make apic_bsp_setup() static (diff)
downloadlinux-dev-dde3626f815e38bbf96fddd5185038c4b4d395a8.tar.xz
linux-dev-dde3626f815e38bbf96fddd5185038c4b4d395a8.zip
x86/apic: Use non-atomic operations when possible
Using __clear_bit() and __cpumask_clear_cpu() is more efficient than using their atomic counterparts. Use them when atomicity is not needed, such as when manipulating bitmasks that are on the stack. Signed-off-by: Nadav Amit <namit@vmware.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Dave Hansen <dave.hansen@linux.intel.com> Link: https://lkml.kernel.org/r/20190613064813.8102-10-namit@vmware.com
Diffstat (limited to 'arch/x86/kernel/apic/apic_flat_64.c')
-rw-r--r--arch/x86/kernel/apic/apic_flat_64.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kernel/apic/apic_flat_64.c b/arch/x86/kernel/apic/apic_flat_64.c
index 0005c284a5c5..65072858f553 100644
--- a/arch/x86/kernel/apic/apic_flat_64.c
+++ b/arch/x86/kernel/apic/apic_flat_64.c
@@ -78,7 +78,7 @@ flat_send_IPI_mask_allbutself(const struct cpumask *cpumask, int vector)
int cpu = smp_processor_id();
if (cpu < BITS_PER_LONG)
- clear_bit(cpu, &mask);
+ __clear_bit(cpu, &mask);
_flat_send_IPI_mask(mask, vector);
}
@@ -92,7 +92,7 @@ static void flat_send_IPI_allbutself(int vector)
unsigned long mask = cpumask_bits(cpu_online_mask)[0];
if (cpu < BITS_PER_LONG)
- clear_bit(cpu, &mask);
+ __clear_bit(cpu, &mask);
_flat_send_IPI_mask(mask, vector);
}