From: Vineet Gupta Date: Fri, 12 Apr 2013 06:48:25 +0000 (+0530) Subject: ARC: [mm] optimise icache flush for kernel mappings X-Git-Tag: v3.10-rc1~25^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7586bf7286097cd47299c44192c30e01f0d55391;p=pandora-kernel.git 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 --- Reading git-diff-tree failed