Re: [PATCH v2] asm-generic: introduce io_stop_wc() and add implementation for ARM64
From: Arnd Bergmann <arnd@arndb.de>
Date: 2021-12-21 09:17:47
Also in:
linux-arm-kernel, linux-doc, lkml
From: Arnd Bergmann <arnd@arndb.de>
Date: 2021-12-21 09:17:47
Also in:
linux-arm-kernel, linux-doc, lkml
On Tue, Dec 21, 2021 at 4:55 AM Xiongfeng Wang [off-list ref] wrote:
For memory accesses with write-combining attributes (e.g. those returned by ioremap_wc()), the CPU may wait for prior accesses to be merged with subsequent ones. But in some situation, such wait is bad for the performance. We introduce io_stop_wc() to prevent the merging of write-combining memory accesses before this macro with those after it. We add implementation for ARM64 using DGH instruction and provide NOP implementation for other architectures. Signed-off-by: Xiongfeng Wang <redacted> Suggested-by: Will Deacon <will@kernel.org> Suggested-by: Catalin Marinas <catalin.marinas@arm.com> --- v1->v2: change 'Normal-Non Cacheable' to 'write-combining'
For asm-generic: Acked-by: Arnd Bergmann <arnd@arndb.de> Will, Catalin: if you are happy with this version, please merge it through the arm64 tree.