diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-02-17 12:51:42 +0200 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2014-06-26 11:59:01 +0530 |
commit | 2328af0c9ce89d3ec121ba832c4e6faeff9e70ac (patch) | |
tree | a76007060d64b0f37627e1094bbae30c32657e1c /drivers/pcmcia | |
parent | 7e5122190b47c2574eda26aa0bbda693b2821449 (diff) | |
download | linux-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 'drivers/pcmcia')
0 files changed, 0 insertions, 0 deletions