start_secondary flushing remote icaches?
Greetings,
I'm updating our port to 2.6.22 and I notice that r4k_flush_icache_range no longer has a check for irqs_disabled (to force local-only flush).
This hits the BUG_ON(!cpu_online(cpu)) assertion in smp_call_function since cpu's aren't marked online until after start_secondary:
Call Trace: [<ffffffff8010d394>] smp_call_function+0x84/0x1f0 [<ffffffff8011dec0>] r4k_flush_icache_range+0x28/0x48 [<ffffffff80434a4c>] r4k_cache_init+0x6dc/0x1070 [<ffffffff8042fca0>] per_cpu_trap_init+0x180/0x288 [<ffffffff804304b4>] start_secondary+0x24/0x118 [<ffffffff80101c40>] prom_smp_bootstrap+0x10/0x50
So, the question is, how should the remote icache flush be avoided in this case?
-p