Message ID | 20190821145837.3686-5-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/6] riscv: refactor the IPI code | expand |
On Wed, 2019-08-21 at 23:58 +0900, Christoph Hellwig wrote: > Move the initial clearing of the mask from the callers to > riscv_cpuid_to_hartid_mask, and remove the unused !CONFIG_SMP stub. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > arch/riscv/include/asm/smp.h | 6 ------ > arch/riscv/include/asm/tlbflush.h | 1 - > arch/riscv/kernel/smp.c | 1 + > arch/riscv/mm/cacheflush.c | 1 - > 4 files changed, 1 insertion(+), 8 deletions(-) > > diff --git a/arch/riscv/include/asm/smp.h > b/arch/riscv/include/asm/smp.h > index c6ed4d691def..a83451d73a4e 100644 > --- a/arch/riscv/include/asm/smp.h > +++ b/arch/riscv/include/asm/smp.h > @@ -61,11 +61,5 @@ static inline unsigned long > cpuid_to_hartid_map(int cpu) > return boot_cpu_hartid; > } > > -static inline void riscv_cpuid_to_hartid_mask(const struct cpumask > *in, > - struct cpumask *out) > -{ > - cpumask_set_cpu(cpuid_to_hartid_map(0), out); > -} > - > #endif /* CONFIG_SMP */ > #endif /* _ASM_RISCV_SMP_H */ > diff --git a/arch/riscv/include/asm/tlbflush.h > b/arch/riscv/include/asm/tlbflush.h > index 4d9bbe8438bf..df31fe2ed09c 100644 > --- a/arch/riscv/include/asm/tlbflush.h > +++ b/arch/riscv/include/asm/tlbflush.h > @@ -47,7 +47,6 @@ static inline void remote_sfence_vma(struct cpumask > *cmask, unsigned long start, > { > struct cpumask hmask; > > - cpumask_clear(&hmask); > riscv_cpuid_to_hartid_mask(cmask, &hmask); > sbi_remote_sfence_vma(hmask.bits, start, size); > } > diff --git a/arch/riscv/kernel/smp.c b/arch/riscv/kernel/smp.c > index a3715d621f60..3836760d7aaf 100644 > --- a/arch/riscv/kernel/smp.c > +++ b/arch/riscv/kernel/smp.c > @@ -56,6 +56,7 @@ void riscv_cpuid_to_hartid_mask(const struct > cpumask *in, struct cpumask *out) > { > int cpu; > > + cpumask_clear(out); > for_each_cpu(cpu, in) > cpumask_set_cpu(cpuid_to_hartid_map(cpu), out); > } > diff --git a/arch/riscv/mm/cacheflush.c b/arch/riscv/mm/cacheflush.c > index 9ebcff8ba263..3f15938dec89 100644 > --- a/arch/riscv/mm/cacheflush.c > +++ b/arch/riscv/mm/cacheflush.c > @@ -47,7 +47,6 @@ void flush_icache_mm(struct mm_struct *mm, bool > local) > cpumask_andnot(&others, mm_cpumask(mm), cpumask_of(cpu)); > local |= cpumask_empty(&others); > if (mm != current->active_mm || !local) { > - cpumask_clear(&hmask); > riscv_cpuid_to_hartid_mask(&others, &hmask); > sbi_remote_fence_i(hmask.bits); > } else { Reviewed-by: Atish Patra <atish.patra@wdc.com>
On Wed, 21 Aug 2019, Christoph Hellwig wrote: > Move the initial clearing of the mask from the callers to > riscv_cpuid_to_hartid_mask, and remove the unused !CONFIG_SMP stub. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Thanks, queued for v5.4-rc1 with Atish's Reviewed-by:. - Paul
diff --git a/arch/riscv/include/asm/smp.h b/arch/riscv/include/asm/smp.h index c6ed4d691def..a83451d73a4e 100644 --- a/arch/riscv/include/asm/smp.h +++ b/arch/riscv/include/asm/smp.h @@ -61,11 +61,5 @@ static inline unsigned long cpuid_to_hartid_map(int cpu) return boot_cpu_hartid; } -static inline void riscv_cpuid_to_hartid_mask(const struct cpumask *in, - struct cpumask *out) -{ - cpumask_set_cpu(cpuid_to_hartid_map(0), out); -} - #endif /* CONFIG_SMP */ #endif /* _ASM_RISCV_SMP_H */ diff --git a/arch/riscv/include/asm/tlbflush.h b/arch/riscv/include/asm/tlbflush.h index 4d9bbe8438bf..df31fe2ed09c 100644 --- a/arch/riscv/include/asm/tlbflush.h +++ b/arch/riscv/include/asm/tlbflush.h @@ -47,7 +47,6 @@ static inline void remote_sfence_vma(struct cpumask *cmask, unsigned long start, { struct cpumask hmask; - cpumask_clear(&hmask); riscv_cpuid_to_hartid_mask(cmask, &hmask); sbi_remote_sfence_vma(hmask.bits, start, size); } diff --git a/arch/riscv/kernel/smp.c b/arch/riscv/kernel/smp.c index a3715d621f60..3836760d7aaf 100644 --- a/arch/riscv/kernel/smp.c +++ b/arch/riscv/kernel/smp.c @@ -56,6 +56,7 @@ void riscv_cpuid_to_hartid_mask(const struct cpumask *in, struct cpumask *out) { int cpu; + cpumask_clear(out); for_each_cpu(cpu, in) cpumask_set_cpu(cpuid_to_hartid_map(cpu), out); } diff --git a/arch/riscv/mm/cacheflush.c b/arch/riscv/mm/cacheflush.c index 9ebcff8ba263..3f15938dec89 100644 --- a/arch/riscv/mm/cacheflush.c +++ b/arch/riscv/mm/cacheflush.c @@ -47,7 +47,6 @@ void flush_icache_mm(struct mm_struct *mm, bool local) cpumask_andnot(&others, mm_cpumask(mm), cpumask_of(cpu)); local |= cpumask_empty(&others); if (mm != current->active_mm || !local) { - cpumask_clear(&hmask); riscv_cpuid_to_hartid_mask(&others, &hmask); sbi_remote_fence_i(hmask.bits); } else {
Move the initial clearing of the mask from the callers to riscv_cpuid_to_hartid_mask, and remove the unused !CONFIG_SMP stub. Signed-off-by: Christoph Hellwig <hch@lst.de> --- arch/riscv/include/asm/smp.h | 6 ------ arch/riscv/include/asm/tlbflush.h | 1 - arch/riscv/kernel/smp.c | 1 + arch/riscv/mm/cacheflush.c | 1 - 4 files changed, 1 insertion(+), 8 deletions(-)