Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 277137
b: refs/heads/master
c: fc769a8
h: refs/heads/master
i:
  277135: 5a03062
v: v3
  • Loading branch information
Tejun Heo authored and H. Peter Anvin committed Jul 13, 2011
1 parent c299f4c commit 8fd3082
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 14 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: 1f5026a7e21e409c2b9dd54f6dfb9446511fb7c5
refs/heads/master: fc769a8e70a3348d5de49e5f69f6aff810157360
3 changes: 2 additions & 1 deletion trunk/include/linux/memblock.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ extern int memblock_can_resize;
#define memblock_dbg(fmt, ...) \
if (memblock_debug) printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)

u64 memblock_find_in_range(u64 start, u64 end, u64 size, u64 align);
phys_addr_t memblock_find_in_range(phys_addr_t start, phys_addr_t end,
phys_addr_t size, phys_addr_t align);
int memblock_free_reserved_regions(void);
int memblock_reserve_reserved_regions(void);

Expand Down
19 changes: 7 additions & 12 deletions trunk/mm/memblock.c
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,11 @@ static phys_addr_t __init_memblock memblock_find_region(phys_addr_t start, phys_
return 0;
}

static phys_addr_t __init_memblock memblock_find_base(phys_addr_t size,
phys_addr_t align, phys_addr_t start, phys_addr_t end)
/*
* Find a free area with specified alignment in a specific range.
*/
phys_addr_t __init_memblock memblock_find_in_range(phys_addr_t start, phys_addr_t end,
phys_addr_t size, phys_addr_t align)
{
long i;

Expand Down Expand Up @@ -132,14 +135,6 @@ static phys_addr_t __init_memblock memblock_find_base(phys_addr_t size,
return 0;
}

/*
* Find a free area with specified alignment in a specific range.
*/
u64 __init_memblock memblock_find_in_range(u64 start, u64 end, u64 size, u64 align)
{
return memblock_find_base(size, align, start, end);
}

/*
* Free memblock.reserved.regions
*/
Expand Down Expand Up @@ -216,7 +211,7 @@ static int __init_memblock memblock_double_array(struct memblock_type *type)
new_array = kmalloc(new_size, GFP_KERNEL);
addr = new_array ? __pa(new_array) : 0;
} else
addr = memblock_find_base(new_size, sizeof(phys_addr_t), 0, MEMBLOCK_ALLOC_ACCESSIBLE);
addr = memblock_find_in_range(0, MEMBLOCK_ALLOC_ACCESSIBLE, new_size, sizeof(phys_addr_t));
if (!addr) {
pr_err("memblock: Failed to double %s array from %ld to %ld entries !\n",
memblock_type_name(type), type->max, type->max * 2);
Expand Down Expand Up @@ -477,7 +472,7 @@ phys_addr_t __init __memblock_alloc_base(phys_addr_t size, phys_addr_t align, ph
*/
size = round_up(size, align);

found = memblock_find_base(size, align, 0, max_addr);
found = memblock_find_in_range(0, max_addr, size, align);
if (found && !memblock_add_region(&memblock.reserved, found, size))
return found;

Expand Down

0 comments on commit 8fd3082

Please sign in to comment.