linux-mips
[Top] [All Lists]

start_secondary flushing remote icaches?

To: linux-mips@linux-mips.org
Subject: start_secondary flushing remote icaches?
From: Peter Watkins <pwatkins@sicortex.com>
Date: Tue, 10 Jul 2007 14:07:59 -0400
Cc: Peter Watkins <pwatkins@sicortex.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050831)
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


<Prev in Thread] Current Thread [Next in Thread>
  • start_secondary flushing remote icaches?, Peter Watkins <=