early ioremap not working with 2.4.19-pre1-aa1 ?
Subsystems (2)
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.
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.
Quoted 4 lines · Martin J. Bligh
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)
include/linux/highmem.h renamed from include/linux/highmem.h.~1~ +2 -0
@@ -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); }
init/main.c renamed from init/main.c.~1~ +1 -0
@@ -599,6 +599,7 @@mem_init ();kmem_cache_sizes_init ();pgtable_cache_init (); +init_kmap ();#ifdef CONFIG_PERFMON perfmon_init ();
mm/highmem.c renamed from mm/highmem.c.~1~ +1 -2
@@ -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 ) {
Quoted 8 lines
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
Quoted 9 lines
Quoted 4 lines
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_allocand in turn ioremap was usable only after the initcalls.Does this incremental patch fix it? (untested)
Sorry for the slow test cycle - this works just great ... will this make it back to your main tree?
Thanks very much for the patch,
Martin.