[PATCH v2] asm-generic: introduce io_stop_wc() and add implementation for ARM64

Arnd Bergmann arnd at arndb.de
Tue Dec 21 01:17:27 PST 2021


On Tue, Dec 21, 2021 at 4:55 AM Xiongfeng Wang
<wangxiongfeng2 at huawei.com> 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 <wangxiongfeng2 at huawei.com>
> Suggested-by: Will Deacon <will at kernel.org>
> Suggested-by: Catalin Marinas <catalin.marinas at arm.com>
> ---
> v1->v2: change 'Normal-Non Cacheable' to 'write-combining'

For asm-generic:

Acked-by: Arnd Bergmann <arnd at arndb.de>

Will, Catalin: if you are happy with this version, please merge it through the
arm64 tree.



More information about the linux-arm-kernel mailing list