Re: [RFC PATCH v2] arm64: barrier: add macro dgh() to control memory accesses merging

From: Catalin Marinas
Date: Fri Oct 15 2021 - 14:00:06 EST


On Fri, Oct 15, 2021 at 05:05:11PM +0800, Xiongfeng Wang wrote:
> diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barrier.h
> index 451e11e5fd23..d71a7457d619 100644
> --- a/arch/arm64/include/asm/barrier.h
> +++ b/arch/arm64/include/asm/barrier.h
> @@ -18,6 +18,14 @@
> #define wfe() asm volatile("wfe" : : : "memory")
> #define wfi() asm volatile("wfi" : : : "memory")
>
> +/*
> + * Data Gathering Hint:
> + * This instruction prohibits merging memory accesses with Normal-NC or
> + * Device-GRE attributes before the hint instruction with any memory accesses
> + * appearing after the hint instruction.
> + */
> +#define dgh() asm volatile("hint #6" : : : "memory")

On its own, this patch doesn't do anything. It's more interesting to see
how it will be used and maybe come up with a common name that other
architectures would share (or just implement as no-opp). I'm not sure
there was any conclusion last time we discussed this.

--
Catalin