On Fri, Apr 02, 2021 at 04:27:17PM +0800, Huang Ying wrote: > With NUMA balancing, in hint page fault handler, the faulting page > will be migrated to the accessing node if necessary. During the > migration, TLB will be shot down on all CPUs that the process has run > on recently. Because in the hint page fault handler, the PTE will be > made accessible before the migration is tried. The overhead of TLB > shooting down can be high, so it's better to be avoided if possible. > In fact, if we delay mapping the page until migration, that can be > avoided. This is what this patch doing. > > <SNIP> > Thanks, I think this is ok for Andrew to pick up to see if anything bisects to this commit but it's a low risk. Reviewed-by: Mel Gorman <mgorman@xxxxxxx> More notes; This is not a universal win given that not all workloads exhibit the pattern where accesses occur in parallel threads between when a page is marked accessible and when it is migrated. The impact of the patch appears to be neutral for those workloads. For workloads that do exhibit the pattern, there is a small gain with a reduction in interrupts as advertised unlike v1 of the patch. Further tests are running to confirm the reduction is in TLB shootdown interrupts but I'm reasonably confident that will be the case. Gains are typically small and the load described in the changelog appears to be a best case scenario but a 1-5% gain in some other workloads is still an improvement. There is still the possibility that some workloads will unnecessarily stall as a result of the patch for slightly longer periods of time but that is a relatively low risk and will be difficult to detect. If I'm wrong, a bisection will find it. Andrew? -- Mel Gorman SUSE Labs