diff options
author | Catalin Marinas <[email protected]> | 2018-02-28 18:47:20 +0000 |
---|---|---|
committer | Will Deacon <[email protected]> | 2018-03-06 18:52:32 +0000 |
commit | 1f85b42a691cd8329ba82dbcaeec80ac1231b32a (patch) | |
tree | da12a0975152204ecccb02c335e68cb3f09aed22 /tools/perf/util/c++/clang.cpp | |
parent | 6b24442d68e78c57c8837920ea5dfb252571847a (diff) |
arm64: Revert L1_CACHE_SHIFT back to 6 (64-byte cache line size)
Commit 97303480753e ("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 <[email protected]>
Cc: Timur Tabi <[email protected]>
Cc: Florian Fainelli <[email protected]>
Acked-by: Robin Murphy <[email protected]>
Signed-off-by: Catalin Marinas <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
Diffstat (limited to 'tools/perf/util/c++/clang.cpp')
0 files changed, 0 insertions, 0 deletions