]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mm: remove misleading 'unlikely' hint in vms_gather_munmap_vmas()
authorBreno Leitao <leitao@debian.org>
Fri, 4 Oct 2024 16:48:31 +0000 (09:48 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 1 Nov 2024 04:28:58 +0000 (21:28 -0700)
Performance analysis using branch annotation on a fleet of 200 hosts
running web servers revealed that the 'unlikely' hint in
vms_gather_munmap_vmas() was 100% consistently incorrect.  In all observed
cases, the branch behavior contradicted the hint.

Remove the 'unlikely' qualifier from the condition checking 'vms->uf'.  By
doing so, we allow the compiler to make optimization decisions based on
its own heuristics and profiling data, rather than relying on a static
hint that has proven to be inaccurate in real-world scenarios.

Link: https://lkml.kernel.org/r/20241004164832.218681-1-leitao@debian.org
Signed-off-by: Breno Leitao <leitao@debian.org>
Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/vma.c

index 7621384d64cf5fdf760ffa7b059f7debde43131c..bb7cfa2dc282781864ec388eed367e03a836c071 100644 (file)
--- a/mm/vma.c
+++ b/mm/vma.c
@@ -1254,7 +1254,7 @@ int vms_gather_munmap_vmas(struct vma_munmap_struct *vms,
                else if (is_data_mapping(next->vm_flags))
                        vms->data_vm += nrpages;
 
-               if (unlikely(vms->uf)) {
+               if (vms->uf) {
                        /*
                         * If userfaultfd_unmap_prep returns an error the vmas
                         * will remain split, but userland will get a