On Mon, Jul 17, 2023 at 09:10:04PM +0800, Yicong Yang wrote: > +static inline void arch_tlbbatch_add_pending(struct arch_tlbflush_unmap_batch *batch, > + struct mm_struct *mm, > + unsigned long uaddr) > +{ > + __flush_tlb_page_nosync(mm, uaddr); > +} > + > +static inline void arch_flush_tlb_batched_pending(struct mm_struct *mm) > +{ > + dsb(ish); > +} > + > +static inline void arch_tlbbatch_flush(struct arch_tlbflush_unmap_batch *batch) > +{ > + dsb(ish); > +} Nitpick: as an additional patch, I'd add some comment for these two functions that the TLBI has already been issued and only a DSB is needed to synchronise its effect on the other CPUs. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>