Skip to contentSkip to conversation

swsusp: kill unneccessary does_collide_order

PATCH New Pavel Machek 1 participant 1 message Apr 26, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/3 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.

kernel/power/swsusp.c (mode:100644 sha1:c3bf8c03c883657ff6bc5237868fe9a6494372e4) renamed from kernel/power/swsusp.c (mode:100644 sha1:ae5bebc3b18fa648857863fae0ec34ae7a105661) +2 -17
Index: kernel/power/swsusp.c
===================================================================
@@ -929,21 +929,6 @@
 	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 @@
 	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 @@
 	/* 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;

!-------------------------------------------------------------flip-

Signature · 1 line
Boycott Kodak -- for their patent abuse against Java.