From: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
To: Wei Yang <richard.weiyang@gmail.com>
Cc: akpm@linux-foundation.org, Liam.Howlett@oracle.com,
vbabka@suse.cz, jannh@google.com, linux-mm@kvack.org
Subject: Re: [PATCH 1/3] mm/vma: miss to restore vmi.index on expansion failure
Date: Fri, 25 Oct 2024 09:10:09 +0100 [thread overview]
Message-ID: <978e1d13-bb8b-437e-adc2-8af389064ae3@lucifer.local> (raw)
In-Reply-To: <20241025075955.hczpuimxcfqhjv5x@master>
On Fri, Oct 25, 2024 at 07:59:55AM +0000, Wei Yang wrote:
> On Fri, Oct 25, 2024 at 08:06:06AM +0100, Lorenzo Stoakes wrote:
> >> vmg->vma = NULL;
> >> vmg->start = start;
> >> vmg->end = end;
> >> vmg->pgoff = pgoff;
> >> - if (vmg->vma == prev)
> >> - vma_iter_set(vmg->vmi, start);
> >
> >So please replace this whole series with a patch that just removes these
> >lines, thanks!
> >
> >Also what tree are you making this change against? All mm changes should be
> >against akpm's tree in the mm-unstable branch. This change looks like it's
> >against another tree, as the code for this function has changed.
> >
>
> For mm-unstable, this is what you expect?
>
> diff --git a/mm/vma.c b/mm/vma.c
> index b5c1adcb6992..03b4838026ab 100644
> --- a/mm/vma.c
> +++ b/mm/vma.c
> @@ -1003,16 +1003,6 @@ struct vm_area_struct *vma_merge_new_range(struct vma_merge_struct *vmg)
> return vmg->vma;
> }
>
> - /* If expansion failed, reset state. Allows us to retry merge later. */
> - if (!just_expand) {
> - vmg->vma = NULL;
> - vmg->start = start;
> - vmg->end = end;
> - vmg->pgoff = pgoff;
> - if (vmg->vma == prev)
> - vma_iter_set(vmg->vmi, start);
> - }
> -
Noooo! Sorry I wasn't clear :) We need this.
I mean:
- if (vmg->vma == prev)
- vma_iter_set(vmg->vmi, start);
And with an explanation like:
We incorrectly set vmg->vma = NULL before checking to see if we
must reset the VMA iterator. However, since the only use case for
this reset is mmap_region() and we always reset iterators there
anyway, there is simply no need to do this.
However, we absolutely do need to reset the vmg parameters to what
they originally were, as well as resetting vmg->vma, as these may
have been mutated to attempt a merge.
There will be no change in behaviour, rather we simply avoid a
pointless compare and, for cases where the VMA was the first in the
mm, a pointless assignment to mas parameters.
> return NULL;
> }
>
>
> >>
> >> return NULL;
> >> }
> >> --
> >> 2.34.1
> >>
> >>
>
> --
> Wei Yang
> Help you, Help me
>
I want to refactor this further, but only after recent mmap_region()
changes have settled down.
Thanks!
next prev parent reply other threads:[~2024-10-25 8:10 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-25 3:18 [PATCH 0/3] " Wei Yang
2024-10-25 3:18 ` [PATCH 1/3] " Wei Yang
2024-10-25 7:06 ` Lorenzo Stoakes
2024-10-25 7:43 ` Wei Yang
2024-10-25 7:59 ` Wei Yang
2024-10-25 8:10 ` Lorenzo Stoakes [this message]
2024-10-25 8:32 ` Wei Yang
2024-10-25 8:40 ` Lorenzo Stoakes
2024-10-25 8:49 ` Wei Yang
2024-10-25 8:51 ` Lorenzo Stoakes
2024-10-25 8:54 ` Wei Yang
2024-10-25 9:01 ` Lorenzo Stoakes
2024-10-25 9:11 ` Wei Yang
2024-10-25 3:18 ` [PATCH 2/3] tools: test vmi.index would be restored on merge failure Wei Yang
2024-10-25 3:18 ` [PATCH 3/3] tools: fix build error on parameter name omitted Wei Yang
2024-10-25 6:50 ` Lorenzo Stoakes
2024-10-25 20:06 ` [PATCH 0/3] mm/vma: miss to restore vmi.index on expansion failure Liam R. Howlett
2024-10-25 20:14 ` Lorenzo Stoakes
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=978e1d13-bb8b-437e-adc2-8af389064ae3@lucifer.local \
--to=lorenzo.stoakes@oracle.com \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=jannh@google.com \
--cc=linux-mm@kvack.org \
--cc=richard.weiyang@gmail.com \
--cc=vbabka@suse.cz \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox