All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vlastimil Babka <vbabka@suse.cz>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Matthew Wilcox <willy@infradead.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	patches@lists.linux.dev, maple-tree@lists.infradead.org,
	Vlastimil Babka <vbabka@suse.cz>
Subject: [PATCH 02/10] mm/mmap/vma_merge: use the proper vma pointer in case 3
Date: Thu,  9 Mar 2023 12:12:50 +0100	[thread overview]
Message-ID: <20230309111258.24079-3-vbabka@suse.cz> (raw)
In-Reply-To: <20230309111258.24079-1-vbabka@suse.cz>

In case 3 we we use 'next' for everything but vma_pgoff. So use 'next'
for that as well, instead of 'mid', for consistency. Then in case 8 we
have to use 'mid' explicitly, which should also make the intent more
obvious.

Adjust the diagram for cases 1-3 in the comment to match the code - we
are using 'next' for case 3 so mark the range with XXXX instead of NNNN.
For case 2 that's a no-op as the code doesn't touch 'next' or 'mid'. For
case 1 it's now wrong but that will be fixed next.

No functional change.

Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
---
 mm/mmap.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/mm/mmap.c b/mm/mmap.c
index 0a8b052e3022..1af4c9bc2c87 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -857,11 +857,11 @@ can_vma_merge_after(struct vm_area_struct *vma, unsigned long vm_flags,
  *    mmap, brk or    case 4 below       case 5 below
  *    mremap move:
  *                        AAAA               AAAA
- *                    PPPP    NNNN       PPPPNNNNXXXX
+ *                    PPPP    XXXX       PPPPNNNNXXXX
  *                    might become       might become
  *                    PPPPPPPPPPPP 1 or  PPPPPPPPPPPP 6 or
- *                    PPPPPPPPNNNN 2 or  PPPPPPPPXXXX 7 or
- *                    PPPPNNNNNNNN 3     PPPPXXXXXXXX 8
+ *                    PPPPPPPPXXXX 2 or  PPPPPPPPXXXX 7 or
+ *                    PPPPXXXXXXXX 3     PPPPXXXXXXXX 8
  *
  * It is important for case 8 that the vma NNNN overlapping the
  * region AAAA is never going to extended over XXXX. Instead XXXX must
@@ -978,9 +978,10 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm,
 			vma = next;			/* case 3 */
 			vma_start = addr;
 			vma_end = next->vm_end;
-			vma_pgoff = mid->vm_pgoff;
+			vma_pgoff = next->vm_pgoff;
 			err = 0;
 			if (mid != next) {		/* case 8 */
+				vma_pgoff = mid->vm_pgoff;
 				remove = mid;
 				err = dup_anon_vma(next, mid);
 			}
-- 
2.39.2


  parent reply	other threads:[~2023-03-09 11:13 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-09 11:12 [PATCH 00/10] cleanup vma_merge() and improve mergeability tests Vlastimil Babka
2023-03-09 11:12 ` [PATCH 01/10] mm/mmap/vma_merge: use only primary pointers for preparing merge Vlastimil Babka
2023-03-14 22:52   ` Lorenzo Stoakes
2023-03-09 11:12 ` Vlastimil Babka [this message]
2023-03-15 19:04   ` [PATCH 02/10] mm/mmap/vma_merge: use the proper vma pointer in case 3 Lorenzo Stoakes
2023-03-09 11:12 ` [PATCH 03/10] mm/mmap/vma_merge: use the proper vma pointers in cases 1 and 6 Vlastimil Babka
2023-03-15 19:43   ` Lorenzo Stoakes
2023-03-09 11:12 ` [PATCH 04/10] mm/mmap/vma_merge: use the proper vma pointer in case 4 Vlastimil Babka
2023-03-15 19:54   ` Lorenzo Stoakes
2023-03-09 11:12 ` [PATCH 05/10] mm/mmap/vma_merge: initialize mid and next in natural order Vlastimil Babka
2023-03-15 20:10   ` Lorenzo Stoakes
2023-03-09 11:12 ` [PATCH 06/10] mm/mmap/vma_merge: set mid to NULL if not applicable Vlastimil Babka
2023-03-15 21:34   ` Lorenzo Stoakes
2023-03-16 10:11     ` Vlastimil Babka
2023-03-09 11:12 ` [PATCH 07/10] mm/mmap/vma_merge: rename adj_next to adj_start Vlastimil Babka
2023-03-14 22:36   ` Lorenzo Stoakes
2023-03-15 21:38   ` Lorenzo Stoakes
2023-03-09 11:12 ` [PATCH 08/10] mm/mmap/vma_merge: convert mergeability checks to return bool Vlastimil Babka
2023-03-15 21:43   ` Lorenzo Stoakes
2023-03-09 11:12 ` [PATCH 09/10] mm/mmap: start distinguishing if vma can be removed in mergeability test Vlastimil Babka
2023-03-15 22:05   ` Lorenzo Stoakes
2023-03-16 10:57     ` Vlastimil Babka
2023-03-09 11:12 ` [PATCH 10/10] mm/mremap: simplify vma expansion again Vlastimil Babka
2023-03-15 22:20   ` Lorenzo Stoakes
2023-03-16  8:35     ` Vlastimil Babka
2023-03-20 14:16 ` [PATCH 00/10] cleanup vma_merge() and improve mergeability tests Liam R. Howlett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230309111258.24079-3-vbabka@suse.cz \
    --to=vbabka@suse.cz \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=maple-tree@lists.infradead.org \
    --cc=patches@lists.linux.dev \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.