summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2005-06-25 23:55:12 +0200
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-26 01:24:33 +0200
commit8f9bdf15c059c5d84db9c395705bf79b30762420 (patch)
treea24e77d4082b807c784073d266f2a34b3ff5d663 /kernel
parent[PATCH] properly stop devices before poweroff (diff)
downloadlinux-8f9bdf15c059c5d84db9c395705bf79b30762420.tar.xz
linux-8f9bdf15c059c5d84db9c395705bf79b30762420.zip
[PATCH] swsusp: kill unneccessary does_collide_order
The following patch removes the unnecessary function does_collide_order(). This function is no longer necessary, as currently there are only 0-order allocations in swsusp, and the use of it is confusing. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/power/swsusp.c19
1 files changed, 2 insertions, 17 deletions
diff --git a/kernel/power/swsusp.c b/kernel/power/swsusp.c
index 339b5c3735bd..7747a8c43e84 100644
--- a/kernel/power/swsusp.c
+++ b/kernel/power/swsusp.c
@@ -929,21 +929,6 @@ int swsusp_resume(void)
return error;
}
-/* More restore stuff */
-
-/*
- * Returns true if given address/order collides with any orig_address
- */
-static int does_collide_order(unsigned long addr, int order)
-{
- int i;
-
- for (i=0; i < (1<<order); i++)
- if (!PageNosaveFree(virt_to_page(addr + i * PAGE_SIZE)))
- return 1;
- return 0;
-}
-
/**
* On resume, for storing the PBE list and the image,
* we can only use memory pages that do not conflict with the pages
@@ -973,7 +958,7 @@ static unsigned long get_usable_page(unsigned gfp_mask)
unsigned long m;
m = get_zeroed_page(gfp_mask);
- while (does_collide_order(m, 0)) {
+ while (!PageNosaveFree(virt_to_page(m))) {
eat_page((void *)m);
m = get_zeroed_page(gfp_mask);
if (!m)
@@ -1061,7 +1046,7 @@ static struct pbe * swsusp_pagedir_relocate(struct pbe *pblist)
/* Relocate colliding pages */
for_each_pb_page (pbpage, pblist) {
- if (does_collide_order((unsigned long)pbpage, 0)) {
+ if (!PageNosaveFree(virt_to_page((unsigned long)pbpage))) {
m = (void *)get_usable_page(GFP_ATOMIC | __GFP_COLD);
if (!m) {
error = -ENOMEM;