Re: early ioremap not working with 2.4.19-pre1-aa1 ?

From: Andrea Arcangeli (andrea@suse.de)
Date: Fri Mar 01 2002 - 21:44:48 EST


On Fri, Mar 01, 2002 at 03:46:14PM -0800, Martin J. Bligh wrote:
> I have code for the NUMA-Q systems that does an ioremap
> as the first thing in smp_boot_cpus (ia32 tree). This seems to
> work fine until I install the aa patches ... then it hangs in the
> ioremap.

this sounds like the same problem of the MXT patch. In short pte_alloc
and in turn ioremap was usable only after the initcalls.

Does this incremental patch fix it? (untested)

--- 2.4.19pre1aa1/include/linux/highmem.h.~1~ Fri Mar 1 20:19:05 2002
+++ 2.4.19pre1aa1/include/linux/highmem.h Sat Mar 2 03:43:42 2002
@@ -12,6 +12,7 @@
 
 /* declarations for linux/mm/highmem.c */
 unsigned int nr_free_highpages(void);
+extern void init_kmap(void);
 
 extern struct buffer_head *create_bounce(int rw, struct buffer_head * bh_orig);
 
@@ -64,6 +65,7 @@
 #else /* CONFIG_HIGHMEM */
 
 static inline unsigned int nr_free_highpages(void) { return 0; }
+#define init_kmap() do { } while(0)
 
 static inline void *kmap(struct page *page) { return page_address(page); }
 
--- 2.4.19pre1aa1/init/main.c.~1~ Wed Feb 27 12:46:19 2002
+++ 2.4.19pre1aa1/init/main.c Sat Mar 2 03:42:52 2002
@@ -599,6 +599,7 @@
         mem_init();
         kmem_cache_sizes_init();
         pgtable_cache_init();
+ init_kmap();
 
 #ifdef CONFIG_PERFMON
         perfmon_init();
--- 2.4.19pre1aa1/mm/highmem.c.~1~ Wed Feb 27 12:46:13 2002
+++ 2.4.19pre1aa1/mm/highmem.c Sat Mar 2 03:43:50 2002
@@ -45,7 +45,7 @@
 
 static wait_queue_head_t pkmap_map_wait[KM_NR_SERIES];
 
-static __init int init_kmap(void)
+void __init init_kmap(void)
 {
         int i;
 
@@ -56,7 +56,6 @@
 #endif
         return 0;
 }
-__initcall(init_kmap);
 
 static void flush_all_zero_pkmaps(void)
 {
>
> Has anyone got any idea why this might be? I'd really like to
> test out the -aa vm patches on this box ... I can debug it some
> more - just looking for an easy answer ;-)
>
> Thanks,
>
> Martin.

Andrea
-
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/



This archive was generated by hypermail 2b29 : Thu Mar 07 2002 - 21:00:22 EST