All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
	Linus <torvalds@linux-foundation.org>
Subject: Re: linux-next: manual merge of the akpm tree with Linus' tree
Date: Thu, 08 Mar 2012 17:59:02 +0800	[thread overview]
Message-ID: <4F5882E6.8080202@linux.vnet.ibm.com> (raw)
In-Reply-To: <20120307235012.847af577.akpm@linux-foundation.org>

On 03/08/2012 03:50 PM, Andrew Morton wrote:


> Doh.  The author reviewed that for me too!
> 
> I'll drop it - please rework, retest and resend?
> 


Andrew, the patch has been reworked.

Subject: [PATCH] hugetlb: drop prev_vma in hugetlb_get_unmapped_area_topdown()

After the call find_vma_prev(mm, addr, &prev_vma), the following condition
is always true:

	!prev_vma || (addr >= prev_vma->vm_end)

it can happily drop prev_vma and use find_vma() instead of find_vma_prev().

Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
---
 arch/x86/mm/hugetlbpage.c |   18 +++++-------------
 1 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c
index 8ecbb4b..0c1701b 100644
--- a/arch/x86/mm/hugetlbpage.c
+++ b/arch/x86/mm/hugetlbpage.c
@@ -308,7 +308,7 @@ static unsigned long hugetlb_get_unmapped_area_topdown(struct file *file,
 {
 	struct hstate *h = hstate_file(file);
 	struct mm_struct *mm = current->mm;
-	struct vm_area_struct *vma, *prev_vma;
+	struct vm_area_struct *vma;
 	unsigned long base = mm->mmap_base, addr = addr0;
 	unsigned long largest_hole = mm->cached_hole_size;
 	int first_time = 1;
@@ -337,22 +337,14 @@ try_again:
 		if (!vma)
 			return addr;

-		/*
-		 * new region fits between prev_vma->vm_end and
-		 * vma->vm_start, use it:
-		 */
-		prev_vma = vma->vm_prev;
-		if (addr + len <= vma->vm_start &&
-		            (!prev_vma || (addr >= prev_vma->vm_end))) {
+		if (addr + len <= vma->vm_start) {
 			/* remember the address as a hint for next time */
 		        mm->cached_hole_size = largest_hole;
 		        return (mm->free_area_cache = addr);
-		} else {
+		} else if (mm->free_area_cache == vma->vm_end) {
 			/* pull free_area_cache down to the first hole */
-		        if (mm->free_area_cache == vma->vm_end) {
-				mm->free_area_cache = vma->vm_start;
-				mm->cached_hole_size = largest_hole;
-			}
+			mm->free_area_cache = vma->vm_start;
+			mm->cached_hole_size = largest_hole;
 		}

 		/* remember the largest hole we saw so far */
-- 
1.7.7.6


  parent reply	other threads:[~2012-03-08  9:59 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-08  6:53 linux-next: manual merge of the akpm tree with Linus' tree Stephen Rothwell
2012-03-08  7:32 ` Andrew Morton
2012-03-08  7:41   ` Stephen Rothwell
2012-03-08  7:50     ` Andrew Morton
2012-03-08  7:50       ` Xiao Guangrong
2012-03-08  9:59       ` Xiao Guangrong [this message]
2012-03-08 21:24         ` Andrew Morton
2012-03-08 23:42           ` Linus Torvalds
  -- strict thread matches above, loose matches on Subject: below --
2019-12-02  2:17 Stephen Rothwell
2019-12-02  2:08 Stephen Rothwell
2018-10-15  7:22 Stephen Rothwell
2018-10-15  7:04 Stephen Rothwell
2018-03-26  8:56 Stephen Rothwell
2017-01-09  2:51 Stephen Rothwell
2016-12-12  5:49 Stephen Rothwell
2016-01-19  2:42 Stephen Rothwell
2016-01-19  2:36 Stephen Rothwell
2015-07-27  5:26 Stephen Rothwell
2013-09-10  4:38 Stephen Rothwell
2013-09-10 22:27 ` Andrew Morton
2013-09-10 22:29   ` Al Viro
2013-09-10 22:35     ` Andrew Morton
2013-09-10 22:36       ` Al Viro
2013-09-10 22:39         ` Al Viro
2013-09-10 22:41         ` Andrew Morton
2013-09-10 22:48           ` Al Viro
2013-09-10 22:59             ` Al Viro
2013-09-10 23:13               ` Andrew Morton
2013-09-10 23:55                 ` Al Viro
2013-09-11  4:30                 ` Stephen Rothwell
2013-09-10 23:37               ` Linus Torvalds
2013-09-10 23:53                 ` Al Viro
2013-09-11  0:01                   ` Linus Torvalds
2013-09-11  0:39                     ` Dave Chinner
2013-09-13  0:56                 ` Linus Torvalds
2013-09-13  1:12                   ` Linus Torvalds
2013-09-13  1:35                     ` Al Viro
2013-09-13 19:12                     ` Linus Torvalds
2013-09-13 19:28                       ` Linus Torvalds
2013-09-13 19:54                       ` Linus Torvalds
2013-09-13 20:00                       ` Al Viro
2013-09-13 20:18                         ` Al Viro
2013-09-13 20:23                           ` Al Viro
2013-09-13 20:25                         ` Linus Torvalds
2013-09-13 20:31                           ` Linus Torvalds
2013-09-13 20:31                           ` Al Viro
2013-09-13 20:34                             ` Linus Torvalds
2013-09-10 22:35   ` Linus Torvalds
2013-09-10 22:44     ` Andrew Morton
2013-09-11  0:30       ` Stephen Rothwell
2013-09-11  0:41         ` Linus Torvalds
2013-09-10  4:21 Stephen Rothwell
2013-09-10  4:09 Stephen Rothwell
2013-09-10  4:12 ` Stephen Rothwell
2013-09-09  5:38 Stephen Rothwell
2013-09-09  5:22 Stephen Rothwell
2013-09-09  5:16 Stephen Rothwell
2013-08-30  8:44 Stephen Rothwell
2013-05-27  6:20 Stephen Rothwell
2013-05-20  4:04 Stephen Rothwell
2013-05-20 12:19 ` Chris Mason
2013-05-13  5:20 Eric Paris
2013-05-13  2:07 Stephen Rothwell
2013-05-13  2:11 ` Eric Paris
2013-05-13  4:16   ` Stephen Rothwell
2013-05-13  4:49   ` Kees Cook
2013-05-13  5:14     ` Eric Paris
2013-05-02  6:01 Stephen Rothwell
2013-04-29  8:38 Stephen Rothwell
2013-04-19  7:40 Stephen Rothwell
2013-04-16  7:25 Stephen Rothwell
2013-04-03  6:10 Stephen Rothwell
2013-03-25  4:22 Stephen Rothwell
2013-03-04  2:21 Stephen Rothwell
2013-01-04  3:27 Stephen Rothwell
2012-12-11  5:25 Stephen Rothwell
2012-12-11  5:22 Stephen Rothwell
2012-12-11  7:58 ` Glauber Costa
2012-12-11  7:58   ` Glauber Costa
2012-12-07  6:39 Stephen Rothwell
2012-11-30  6:24 Stephen Rothwell
2012-11-26 12:52 Stephen Rothwell
2012-11-26 12:48 Stephen Rothwell
2012-11-26 12:48 ` Stephen Rothwell
2012-11-26 13:25 ` Xiaotian Feng
2012-11-26 12:34 Stephen Rothwell
2012-10-15  2:07 Stephen Rothwell
2012-10-15 22:14 ` Catalin Marinas
2012-10-01 14:15 Stephen Rothwell
2012-08-22  5:59 Stephen Rothwell
2012-08-22  8:58 ` Mel Gorman
2012-07-27  3:57 Stephen Rothwell
2012-07-02  6:39 Stephen Rothwell
2012-06-04  4:58 Stephen Rothwell
2012-05-31  4:24 Stephen Rothwell
2012-05-31  4:13 Stephen Rothwell
2012-05-31  7:25 ` Johannes Weiner
2012-05-31  8:24   ` Stephen Rothwell
2012-05-31  8:27     ` Stephen Rothwell
2012-05-21  8:23 Stephen Rothwell
2012-05-21  8:13 Stephen Rothwell
2012-05-21  8:16 ` Cyrill Gorcunov
2011-12-28  7:54 Stephen Rothwell
2011-11-08  3:24 Stephen Rothwell
2011-11-01  8:16 Stephen Rothwell
2011-11-01 10:47 ` Tao Ma
2011-09-16  6:09 Stephen Rothwell
2011-08-15  4:52 Stephen Rothwell

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=4F5882E6.8080202@linux.vnet.ibm.com \
    --to=xiaoguangrong@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=sfr@canb.auug.org.au \
    --cc=torvalds@linux-foundation.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.