On Fri, 2023-03-24 at 15:13 +0000, Will Deacon wrote: > On Wed, Mar 22, 2023 at 04:11:44PM +0200, ypodemsk@xxxxxxxxxx wrote: > > On Mon, 2023-03-20 at 09:49 +0100, Peter Zijlstra wrote: > > > On Sun, Mar 12, 2023 at 10:09:45AM +0200, Yair Podemsky wrote: > > > > Currently the tlb_remove_table_smp_sync IPI is sent to all CPUs > > > > indiscriminately, this causes unnecessary work and delays > > > > notable > > > > in > > > > real-time use-cases and isolated cpus, this patch will limit > > > > this > > > > IPI to > > > > only be sent to cpus referencing the effected mm and are > > > > currently > > > > in > > > > kernel space. > > > > > > Did you validate that all architectures for which this is > > > relevant > > > actually set bits in mm_cpumask() ? > > > > > Hi Peter, > > Thank you for bringing this to my attention. > > I reviewed the architectures using the MMU_GATHER_RCU_TABLE_FREE: > > arm, powerpc, s390, sparc and x86 set the bit when switching > > process > > in. > > for arm64 removed set/clear bit in 38d96287504a ("arm64: mm: kill > > mm_cpumask usage") > > The reason given was that mm_cpumask was not used. > > Given that we now have a use for it, I will add a patch to revert. > > Maintaining the mask is also not free, so I'm not keen on adding it > back > unless there's a net win. > > Will > How about adding a Kconfig to mark which architectures set/use the mm_cpumask? This will allow us to use the mm_cpumask on architectures that support it, and use acpu_online_mask on those that don't. Also make it clear which architectures set the bit for the future. Yair