projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target...
[deliverable/linux.git]
/
mm
/
bootmem.c
diff --git
a/mm/bootmem.c
b/mm/bootmem.c
index 477be696511d669230b47c73d52a8b3c1836c457..a23dd19346548223152a4922a0e2e7d90cb56b10 100644
(file)
--- a/
mm/bootmem.c
+++ b/
mm/bootmem.c
@@
-164,7
+164,7
@@
void __init free_bootmem_late(unsigned long physaddr, unsigned long size)
end = PFN_DOWN(physaddr + size);
for (; cursor < end; cursor++) {
end = PFN_DOWN(physaddr + size);
for (; cursor < end; cursor++) {
- __free_pages_bootmem(pfn_to_page(cursor), 0);
+ __free_pages_bootmem(pfn_to_page(cursor),
cursor,
0);
totalram_pages++;
}
}
totalram_pages++;
}
}
@@
-172,7
+172,7
@@
void __init free_bootmem_late(unsigned long physaddr, unsigned long size)
static unsigned long __init free_all_bootmem_core(bootmem_data_t *bdata)
{
struct page *page;
static unsigned long __init free_all_bootmem_core(bootmem_data_t *bdata)
{
struct page *page;
- unsigned long *map, start, end, pages, count = 0;
+ unsigned long *map, start, end, pages, c
ur, c
ount = 0;
if (!bdata->node_bootmem_map)
return 0;
if (!bdata->node_bootmem_map)
return 0;
@@
-210,17
+210,17
@@
static unsigned long __init free_all_bootmem_core(bootmem_data_t *bdata)
if (IS_ALIGNED(start, BITS_PER_LONG) && vec == ~0UL) {
int order = ilog2(BITS_PER_LONG);
if (IS_ALIGNED(start, BITS_PER_LONG) && vec == ~0UL) {
int order = ilog2(BITS_PER_LONG);
- __free_pages_bootmem(pfn_to_page(start), order);
+ __free_pages_bootmem(pfn_to_page(start),
start,
order);
count += BITS_PER_LONG;
start += BITS_PER_LONG;
} else {
count += BITS_PER_LONG;
start += BITS_PER_LONG;
} else {
-
unsigned long
cur = start;
+ cur = start;
start = ALIGN(start + 1, BITS_PER_LONG);
while (vec && cur != start) {
if (vec & 1) {
page = pfn_to_page(cur);
start = ALIGN(start + 1, BITS_PER_LONG);
while (vec && cur != start) {
if (vec & 1) {
page = pfn_to_page(cur);
- __free_pages_bootmem(page, 0);
+ __free_pages_bootmem(page,
cur,
0);
count++;
}
vec >>= 1;
count++;
}
vec >>= 1;
@@
-229,12
+229,13
@@
static unsigned long __init free_all_bootmem_core(bootmem_data_t *bdata)
}
}
}
}
+ cur = bdata->node_min_pfn;
page = virt_to_page(bdata->node_bootmem_map);
pages = bdata->node_low_pfn - bdata->node_min_pfn;
pages = bootmem_bootmap_pages(pages);
count += pages;
while (pages--)
page = virt_to_page(bdata->node_bootmem_map);
pages = bdata->node_low_pfn - bdata->node_min_pfn;
pages = bootmem_bootmap_pages(pages);
count += pages;
while (pages--)
- __free_pages_bootmem(page++, 0);
+ __free_pages_bootmem(page++,
cur++,
0);
bdebug("nid=%td released=%lx\n", bdata - bootmem_node_data, count);
bdebug("nid=%td released=%lx\n", bdata - bootmem_node_data, count);
This page took
0.026269 seconds
and
5
git commands to generate.