From: Wei Yang <richardw.yang@linux.intel.com>
To: Wei Yang <richardw.yang@linux.intel.com>
Cc: akpm@linux-foundation.org, mgorman@techsingularity.net,
vbabka@suse.cz, linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm/mmap.c: rb_parent is not necessary in __vma_link_list
Date: Thu, 12 Sep 2019 11:10:58 +0800 [thread overview]
Message-ID: <20190912031058.GC25169@richard> (raw)
In-Reply-To: <20190813032656.16625-1-richardw.yang@linux.intel.com>
On Tue, Aug 13, 2019 at 11:26:56AM +0800, Wei Yang wrote:
>Now we use rb_parent to get next, while this is not necessary.
>
>When prev is NULL, this means vma should be the first element in the
>list. Then next should be current first one (mm->mmap), no matter
>whether we have parent or not.
>
>After removing it, the code shows the beauty of symmetry.
>
>Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Ping~
>---
> mm/internal.h | 2 +-
> mm/mmap.c | 2 +-
> mm/nommu.c | 2 +-
> mm/util.c | 8 ++------
> 4 files changed, 5 insertions(+), 9 deletions(-)
>
>diff --git a/mm/internal.h b/mm/internal.h
>index e32390802fd3..41a49574acc3 100644
>--- a/mm/internal.h
>+++ b/mm/internal.h
>@@ -290,7 +290,7 @@ static inline bool is_data_mapping(vm_flags_t flags)
>
> /* mm/util.c */
> void __vma_link_list(struct mm_struct *mm, struct vm_area_struct *vma,
>- struct vm_area_struct *prev, struct rb_node *rb_parent);
>+ struct vm_area_struct *prev);
>
> #ifdef CONFIG_MMU
> extern long populate_vma_page_range(struct vm_area_struct *vma,
>diff --git a/mm/mmap.c b/mm/mmap.c
>index f7ed0afb994c..b8072630766f 100644
>--- a/mm/mmap.c
>+++ b/mm/mmap.c
>@@ -632,7 +632,7 @@ __vma_link(struct mm_struct *mm, struct vm_area_struct *vma,
> struct vm_area_struct *prev, struct rb_node **rb_link,
> struct rb_node *rb_parent)
> {
>- __vma_link_list(mm, vma, prev, rb_parent);
>+ __vma_link_list(mm, vma, prev);
> __vma_link_rb(mm, vma, rb_link, rb_parent);
> }
>
>diff --git a/mm/nommu.c b/mm/nommu.c
>index fed1b6e9c89b..12a66fbeb988 100644
>--- a/mm/nommu.c
>+++ b/mm/nommu.c
>@@ -637,7 +637,7 @@ static void add_vma_to_mm(struct mm_struct *mm, struct vm_area_struct *vma)
> if (rb_prev)
> prev = rb_entry(rb_prev, struct vm_area_struct, vm_rb);
>
>- __vma_link_list(mm, vma, prev, parent);
>+ __vma_link_list(mm, vma, prev);
> }
>
> /*
>diff --git a/mm/util.c b/mm/util.c
>index e6351a80f248..80632db29247 100644
>--- a/mm/util.c
>+++ b/mm/util.c
>@@ -264,7 +264,7 @@ void *memdup_user_nul(const void __user *src, size_t len)
> EXPORT_SYMBOL(memdup_user_nul);
>
> void __vma_link_list(struct mm_struct *mm, struct vm_area_struct *vma,
>- struct vm_area_struct *prev, struct rb_node *rb_parent)
>+ struct vm_area_struct *prev)
> {
> struct vm_area_struct *next;
>
>@@ -273,12 +273,8 @@ void __vma_link_list(struct mm_struct *mm, struct vm_area_struct *vma,
> next = prev->vm_next;
> prev->vm_next = vma;
> } else {
>+ next = mm->mmap;
> mm->mmap = vma;
>- if (rb_parent)
>- next = rb_entry(rb_parent,
>- struct vm_area_struct, vm_rb);
>- else
>- next = NULL;
> }
> vma->vm_next = next;
> if (next)
>--
>2.17.1
--
Wei Yang
Help you, Help me
prev parent reply other threads:[~2019-09-12 3:11 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-13 3:26 Wei Yang
2019-08-13 3:39 ` Matthew Wilcox
2019-08-13 5:25 ` Wei Yang
2019-08-14 2:19 ` Wei Yang
2019-09-12 3:10 ` Wei Yang [this message]
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=20190912031058.GC25169@richard \
--to=richardw.yang@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@techsingularity.net \
--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