Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 292629
b: refs/heads/master
c: cbde83e
h: refs/heads/master
i:
  292627: d409b43
v: v3
  • Loading branch information
Xiao Guangrong authored and Linus Torvalds committed Mar 22, 2012
1 parent e5abd97 commit bc8c010
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4bfc130d5afa28395288d1b57092906349604b41
refs/heads/master: cbde83e21c4fd50bfc4240408355c1e5d393063d
10 changes: 6 additions & 4 deletions trunk/arch/x86/mm/hugetlbpage.c
Original file line number Diff line number Diff line change
Expand Up @@ -309,9 +309,10 @@ 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;
unsigned long base = mm->mmap_base, addr = addr0;
unsigned long base = mm->mmap_base;
unsigned long addr = addr0;
unsigned long largest_hole = mm->cached_hole_size;
int first_time = 1;
unsigned long start_addr;

/* don't allow allocations above current base */
if (mm->free_area_cache > base)
Expand All @@ -322,6 +323,8 @@ static unsigned long hugetlb_get_unmapped_area_topdown(struct file *file,
mm->free_area_cache = base;
}
try_again:
start_addr = mm->free_area_cache;

/* make sure it can fit in the remaining address space */
if (mm->free_area_cache < len)
goto fail;
Expand Down Expand Up @@ -368,10 +371,9 @@ static unsigned long hugetlb_get_unmapped_area_topdown(struct file *file,
* if hint left us with no space for the requested
* mapping then try again:
*/
if (first_time) {
if (start_addr != base) {
mm->free_area_cache = base;
largest_hole = 0;
first_time = 0;
goto try_again;
}
/*
Expand Down

0 comments on commit bc8c010

Please sign in to comment.