Thread (16 messages) 16 messages, 6 authors, 2023-07-03

Re: [PATCH v2 0/2] send tlb_remove_table_smp_sync IPI only to necessary CPUs

From: Marcelo Tosatti <hidden>
Date: 2023-06-22 13:42:43
Also in: linux-arch, linux-arm-kernel, linux-mm, linux-s390, lkml, sparclinux

On Wed, Jun 21, 2023 at 09:43:37AM +0200, Peter Zijlstra wrote:
On Tue, Jun 20, 2023 at 05:46:16PM +0300, Yair Podemsky wrote:
quoted
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.
By limiting the IPI to only be sent to cpus referencing the effected
mm.
a config to differentiate architectures that support mm_cpumask from
those that don't will allow safe usage of this feature.

changes from -v1:
- Previous version included a patch to only send the IPI to CPU's with
context_tracking in the kernel space, this was removed due to race 
condition concerns.
- for archs that do not maintain mm_cpumask the mask used should be
 cpu_online_mask (Peter Zijlstra).
 
Would it not be much better to fix the root cause? As per the last time,
there's patches that cure the thp abuse of this.
The other case where the IPI can happen is:

CPU-0                                   CPU-1

tlb_remove_table
tlb_remove_table_sync_one
IPI
                                        local_irq_disable
                                        gup_fast
                                        local_irq_enable


So its not only the THP case.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help