linux_dsm_epyc7002/arch/arm64
Catalin Marinas 1f85b42a69 arm64: Revert L1_CACHE_SHIFT back to 6 (64-byte cache line size)
Commit 9730348075 ("arm64: Increase the max granular size") increased
the cache line size to 128 to match Cavium ThunderX, apparently for some
performance benefit which could not be confirmed. This change, however,
has an impact on the network packets allocation in certain
circumstances, requiring slightly over a 4K page with a significant
performance degradation.

This patch reverts L1_CACHE_SHIFT back to 6 (64-byte cache line) while
keeping ARCH_DMA_MINALIGN at 128. The cache_line_size() function was
changed to default to ARCH_DMA_MINALIGN in the absence of a meaningful
CTR_EL0.CWG bit field.

In addition, if a system with ARCH_DMA_MINALIGN < CTR_EL0.CWG is
detected, the kernel will force swiotlb bounce buffering for all
non-coherent devices since DMA cache maintenance on sub-CWG ranges is
not safe, leading to data corruption.

Cc: Tirumalesh Chalamarla <tchalamarla@cavium.com>
Cc: Timur Tabi <timur@codeaurora.org>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-03-06 18:52:32 +00:00
..
boot ARM: SoC device tree updates for 4.16 2018-02-01 16:07:54 -08:00
configs ARM: SoC platform updates for 4.16 2018-02-01 16:17:40 -08:00
crypto crypto: arm64/sha512 - fix/improve new v8.2 Crypto Extensions code 2018-01-26 01:10:36 +11:00
include arm64: Revert L1_CACHE_SHIFT back to 6 (64-byte cache line size) 2018-03-06 18:52:32 +00:00
kernel arm64: Revert L1_CACHE_SHIFT back to 6 (64-byte cache line size) 2018-03-06 18:52:32 +00:00
kvm arm64: Add missing Falkor part number for branch predictor hardening 2018-02-12 11:28:45 +00:00
lib arm64: lse: Pass -fomit-frame-pointer to out-of-line ll/sc atomics 2018-03-06 18:52:32 +00:00
mm arm64: Revert L1_CACHE_SHIFT back to 6 (64-byte cache line size) 2018-03-06 18:52:32 +00:00
net bpf, arm64: fix out of bounds access in tail call 2018-02-22 16:06:28 -08:00
xen arm64: mm: Add additional parameter to uaccess_ttbr0_disable 2018-01-17 13:57:49 +01:00
Kconfig arm64: Revert L1_CACHE_SHIFT back to 6 (64-byte cache line size) 2018-03-06 18:52:32 +00:00
Kconfig.debug arm64: relocation testing module 2017-04-04 17:03:32 +01:00
Kconfig.platforms clk: meson-axg: add clock controller drivers 2017-12-14 10:19:37 +01:00
Makefile arm64: ftrace: emit ftrace-mod.o contents through code 2017-12-01 13:04:59 +00:00