Messages in this thread Patch in this message | | | From | Atish Patra <> | Subject | Re: [PATCH v2 2/3] RISC-V: Use Linux logical cpu number instead of hartid | Date | Tue, 4 Sep 2018 13:35:10 -0700 |
| |
On 8/30/18 11:11 PM, Christoph Hellwig wrote: >> -#define flush_tlb_all() sbi_remote_sfence_vma(NULL, 0, -1) >> +static inline void remote_sfence_vma(struct cpumask *cmask, unsigned long start, >> + unsigned long size) >> +{ >> + struct cpumask hmask; >> + >> + riscv_cpuid_to_hartid_mask(cmask, &hmask); >> + sbi_remote_sfence_vma(hmask.bits, start, size); >> +} >> + >> +#define flush_tlb_all() remote_sfence_vma(NULL, 0, -1) > > flush_tlb_all passed NULL to sbi_remote_sfence_vma before, so this > changes what we pass. I think we should keep the existing behavior. >
sure. How about this ?
--- a/arch/riscv/include/asm/tlbflush.h +++ b/arch/riscv/include/asm/tlbflush.h @@ -55,8 +55,13 @@ static inline void remote_sfence_vma(struct cpumask *cmask, unsigned long start, { struct cpumask hmask;
- riscv_cpuid_to_hartid_mask(cmask, &hmask); - sbi_remote_sfence_vma(hmask.bits, start, size); + if (cmask == NULL) { + sbi_remote_sfence_vma(NULL, start, size); + } else { + cpumask_clear(&hmask); + riscv_cpuid_to_hartid_mask(cmask, &hmask); + sbi_remote_sfence_vma(hmask.bits, start, size); + } }
>> @@ -93,10 +94,11 @@ static inline void plic_toggle(int ctxid, int hwirq, int enable) >> static inline void plic_irq_toggle(struct irq_data *d, int enable) >> { >> int cpu; >> + struct plic_handler *handler; >> >> writel(enable, plic_regs + PRIORITY_BASE + d->hwirq * PRIORITY_PER_ID); >> for_each_cpu(cpu, irq_data_get_affinity_mask(d)) { >> - struct plic_handler *handler = per_cpu_ptr(&plic_handlers, cpu); >> + handler = per_cpu_ptr(&plic_handlers, cpu); > > This looks like a spurious change. >
I think I did this to avoid possible compiler warnings. Will revert it.
Regards, Atish
| |