Re: 2.6.9-rc3[+recent swsusp patches]: swsusp kernel-preemption-unfriendly?

From: Pavel Machek
Date: Tue Oct 05 2004 - 16:30:12 EST


Hi!

> It looks like there's a probel with the kernel preemption vs swsusp:

It is not in kernel preemption, see that NULL pointer dereference? Try
this one...

Pavel

--- clean-suse/kernel/power/swsusp.c 2004-10-05 11:36:23.000000000 +0200
+++ linux-suse/kernel/power/swsusp.c 2004-10-05 22:35:21.000000000 +0200
@@ -568,6 +568,7 @@
struct zone *zone;
unsigned long zone_pfn;
struct pbe * pbe = pagedir_nosave;
+ int pages_copied = 0;

for_each_zone(zone) {
if (is_highmem(zone))
@@ -576,13 +577,17 @@
if (saveable(zone, &zone_pfn)) {
struct page * page;
page = pfn_to_page(zone_pfn + zone->zone_start_pfn);
+
pbe->orig_address = (long) page_address(page);
/* copy_page is no usable for copying task structs. */
memcpy((void *)pbe->address, (void *)pbe->orig_address, PAGE_SIZE);
pbe++;
+ pages_copied++;
}
}
}
+ BUG_ON(pages_copied > nr_copy_pages);
+ nr_copy_pages = pages_copied;
}


@@ -863,7 +868,7 @@

asmlinkage int swsusp_restore(void)
{
- BUG_ON (nr_copy_pages_check != nr_copy_pages);
+// BUG_ON (nr_copy_pages_check != nr_copy_pages);
BUG_ON (pagedir_order_check != pagedir_order);

/* Even mappings of "global" things (vmalloc) need to be fixed */
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/