cpumask: Add assign cpu
authorCharlie Jenkins <charlie@rivosinc.com>
Tue, 12 Mar 2024 23:53:43 +0000 (16:53 -0700)
committerPalmer Dabbelt <palmer@rivosinc.com>
Thu, 18 Apr 2024 15:11:00 +0000 (08:11 -0700)
Standardize an assign_cpu function for cpumasks.

Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
Link: https://lore.kernel.org/r/20240312-fencei-v13-4-4b6bdc2bbf32@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/mm/cacheflush.c
include/linux/cpumask.h

index 15a95578e670be5f3a5977c3e56a2e5733cee935..9dad35f0ce8b1585e9803763c72a3c04dde676c2 100644 (file)
@@ -170,7 +170,7 @@ static void set_icache_stale_mask(void)
        stale_cpu = cpumask_test_cpu(smp_processor_id(), mask);
 
        cpumask_setall(mask);
-       assign_bit(cpumask_check(smp_processor_id()), cpumask_bits(mask), stale_cpu);
+       cpumask_assign_cpu(smp_processor_id(), mask, stale_cpu);
 }
 #endif
 
index cfb545841a2c74a62546f95ecae6b1e7728767b9..1b85e09c4ba5fa168305b74665cb2fc90c1c11e5 100644 (file)
@@ -492,6 +492,22 @@ static __always_inline void __cpumask_clear_cpu(int cpu, struct cpumask *dstp)
        __clear_bit(cpumask_check(cpu), cpumask_bits(dstp));
 }
 
+/**
+ * cpumask_assign_cpu - assign a cpu in a cpumask
+ * @cpu: cpu number (< nr_cpu_ids)
+ * @dstp: the cpumask pointer
+ * @bool: the value to assign
+ */
+static __always_inline void cpumask_assign_cpu(int cpu, struct cpumask *dstp, bool value)
+{
+       assign_bit(cpumask_check(cpu), cpumask_bits(dstp), value);
+}
+
+static __always_inline void __cpumask_assign_cpu(int cpu, struct cpumask *dstp, bool value)
+{
+       __assign_bit(cpumask_check(cpu), cpumask_bits(dstp), value);
+}
+
 /**
  * cpumask_test_cpu - test for a cpu in a cpumask
  * @cpu: cpu number (< nr_cpu_ids)