aboutsummaryrefslogtreecommitdiffstats
path: root/lib/lcm.c
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-04-12 02:48:25 -0400
committerVineet Gupta <vgupta@synopsys.com>2013-05-07 09:38:12 -0400
commit7586bf7286097cd47299c44192c30e01f0d55391 (patch)
tree34f071c6a0f34bd7c256e332550c25887d36fb81 /lib/lcm.c
parent24603fdd19d978fcc0d089d92370ee1aa3a71e84 (diff)
ARC: [mm] optimise icache flush for kernel mappings
This change continues the theme from prev commit - this time icache handling for kernel's own code modification (vmalloc: loadable modules, breakpoints for kprobes/kgdb...) flush_icache_range() calls the CDU icache helper with vaddr to enable exact line invalidate. For a true kernel-virtual mapping, the vaddr is actually virtual hence valid as index into cache. For kprobes breakpoint however, the vaddr arg is actually paddr - since that's how normal kernel is mapped in ARC memory map. This implies that CDU will use the same addr for indexing as for tag match - which is fine since kernel code would only have that "implicit" mapping and none other. This should speed up module loading significantly - specially on default ARC700 icache configurations (32k) which alias. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'lib/lcm.c')
0 files changed, 0 insertions, 0 deletions