the following patch was written by Manfred Spraul to fix your highmem
bug. I haven't had a chance to go over it, but I would like it if you
could test it. It can't hurt. Patch it on top of the preempt patch and
enable CONFIG_PREEMPT, CONFIG_HIGHMEM, and CONFIG_HIGHMEM_DEBUG.
let me know what happens...any relevant messages, etc. please pass
along. if it does work, id be curious if they are any slowdowns
--- highmem.h.prev Sun Sep 9 08:59:04 2001
+++ highmem.h Sun Sep 9 09:00:07 2001
@@ -88,6 +88,7 @@
if (page < highmem_start_page)
return page_address(page);
+ ctx_sw_off();
idx = type + KM_TYPE_NR*smp_processor_id();
vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
#if HIGHMEM_DEBUG
@@ -119,6 +120,7 @@
pte_clear(kmap_pte-idx);
__flush_tlb_one(vaddr);
#endif
+ ctx_sw_on();
}
#endif /* __KERNEL__ */
-- Robert M. Love rml at ufl.edu rml at tech9.net-- Robert M. Love rml at ufl.edu rml at tech9.net- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/