summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-02-17 12:51:42 +0200
committerVineet Gupta <vgupta@synopsys.com>2014-06-26 11:59:01 +0530
commit2328af0c9ce89d3ec121ba832c4e6faeff9e70ac (patch)
treea76007060d64b0f37627e1094bbae30c32657e1c /kernel
parent7e5122190b47c2574eda26aa0bbda693b2821449 (diff)
downloadlinux-2328af0c9ce89d3ec121ba832c4e6faeff9e70ac.tar.bz2
ARC: [SMP] Enable icache coherency
icaches are not snooped hence not cohrent in SMP setups which means kernel has to do cross core calls to ensure the same. The leaf routine __ic_line_inv_vaddr() now does cross core calls. __sync_icache_dcache() is affected due to this: * local dcache line flushed ahead of remote icache inv requests * can't disable interrupts anymore, since __ic_line_inv_vaddr()->on_each_cpu() can deadlock. | WARNING: CPU: 0 PID: 1 at kernel/smp.c:374 | smp_call_function_many+0x25a/0x2c4() | | init_kprobes+0x90/0xc8 | register_kprobe+0x1d6/0x510 | __sync_icache_dcache+0x28/0x80 | | DISABLE IRQ | | __ic_line_inv_vaddr | on_each_cpu | smp_call_function_many+0x25a/0x2c4 --> WARN | __ic_line_inv_vaddr_local | __dc_line_op * TODO: Needs to use mask of relevant CPUs to avoid broadcasting Signed-off-by: Noam Camus <noamc@ezchip.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions