[PATCH] arm64: Increase the max granular size
Timur Tabi
timur at codeaurora.org
Fri Oct 16 12:57:30 PDT 2015
On Tue, Sep 22, 2015 at 12:59 PM, Robert Richter <rric at kernel.org> wrote:
> From: Tirumalesh Chalamarla <tchalamarla at cavium.com>
>
> Increase the standard cacheline size to avoid having locks in the same
> cacheline.
>
> Cavium's ThunderX core implements cache lines of 128 byte size. With
> current granulare size of 64 bytes (L1_CACHE_SHIFT=6) two locks could
> share the same cache line leading a performance degradation.
> Increasing the size fixes that.
>
> Increasing the size has no negative impact to cache invalidation on
> systems with a smaller cache line. There is an impact on memory usage,
> but that's not too important for arm64 use cases.
>
> Signed-off-by: Tirumalesh Chalamarla <tchalamarla at cavium.com>
> Signed-off-by: Robert Richter <rrichter at cavium.com>
Acked-by: Timur Tabi <timur at codeaurora.org>
We need this patch, because on our silicon, CTR_EL0[CWG] set to 5, which
means that setup_processor() complains with this warning:
cls = cache_line_size();
if (L1_CACHE_BYTES < cls)
pr_warn("L1_CACHE_BYTES smaller than the Cache Writeback Granule
(%d < %d)\n",
L1_CACHE_BYTES, cls);
--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.
More information about the linux-arm-kernel
mailing list