[RFC PATCH 0/2] arm64: change PoC D-cache flush to PoU
catalin.marinas at arm.com
Mon Dec 14 07:11:18 PST 2015
On Mon, Dec 14, 2015 at 05:27:42AM -0800, Ashok Kumar wrote:
> Also deferred dcache flush in __cpu_copy_user_page to __sync_icache_dcache.
> May I know why I/D sync is needed in __cpu_copy_user_page? My understanding
> is that any self modifying code in userspace is supposed to take care of the
> coherency using the respective cache flush system call.
I think it may have been there for historical reasons on arch/arm
(115b22474eb1 - "ARM: 5794/1: Flush the D-cache during
copy_user_highpage()") and imported in arch/arm64. But looking back at
this, I don't think we need it for two reasons: dynamic linker no longer
relocating symbols in a text page (and cause CoW) and set_pte_at()
already calling __sync_icache_dcache().
More information about the linux-arm-kernel