linux-stable/arch
Catalin Marinas 9382bc44b5 arm64: allow kmalloc() caches aligned to the smaller cache_line_size()
On arm64, ARCH_DMA_MINALIGN is 128, larger than the cache line size on
most of the current platforms (typically 64).  Define
ARCH_KMALLOC_MINALIGN to 8 (the default for architectures without their
own ARCH_DMA_MINALIGN) and override dma_get_cache_alignment() to return
cache_line_size(), probed at run-time.  The kmalloc() caches will be
limited to the cache line size.  This will allow the additional
kmalloc-{64,192} caches on most arm64 platforms.

Link: https://lkml.kernel.org/r/20230612153201.554742-12-catalin.marinas@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Isaac J. Manjarres <isaacmanjarres@google.com>
Cc: Will Deacon <will@kernel.org>
Cc: Alasdair Kergon <agk@redhat.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Jerry Snitselaar <jsnitsel@redhat.com>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Logan Gunthorpe <logang@deltatee.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: Mike Snitzer <snitzer@kernel.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Saravana Kannan <saravanak@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-06-19 16:19:22 -07:00
..
alpha cachestat: wire up cachestat for other architectures 2023-06-09 16:25:16 -07:00
arc Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
arm arm: allow pte_offset_map[_lock]() to fail 2023-06-19 16:19:05 -07:00
arm64 arm64: allow kmalloc() caches aligned to the smaller cache_line_size() 2023-06-19 16:19:22 -07:00
csky arch/csky patches for 6.4 2023-05-04 12:25:05 -07:00
hexagon Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
ia64 ia64/hugetlb: pte_alloc_huge() pte_offset_huge() 2023-06-19 16:19:06 -07:00
loongarch Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
m68k m68k: allow pte_offset_map[_lock]() to fail 2023-06-19 16:19:06 -07:00
microblaze microblaze: allow pte_offset_map() to fail 2023-06-19 16:19:06 -07:00
mips mips: add pte_unmap() to balance pte_offset_map() 2023-06-19 16:19:07 -07:00
nios2 - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
openrisc Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
parisc parisc/hugetlb: pte_alloc_huge() pte_offset_huge() 2023-06-19 16:19:07 -07:00
powerpc powerpc/hugetlb: pte_alloc_huge() 2023-06-19 16:19:08 -07:00
riscv riscv/hugetlb: pte_alloc_huge() pte_offset_huge() 2023-06-19 16:19:08 -07:00
s390 s390: gmap use pte_unmap_unlock() not spin_unlock() 2023-06-19 16:19:09 -07:00
sh sh/hugetlb: pte_alloc_huge() pte_offset_huge() 2023-06-19 16:19:09 -07:00
sparc sparc: iounit and iommu use pte_offset_kernel() 2023-06-19 16:19:10 -07:00
um um: harddog: fix modular build 2023-05-10 00:21:30 +02:00
x86 x86: sme_populate_pgd() use pte_offset_kernel() 2023-06-19 16:19:10 -07:00
xtensa xtensa: add pte_unmap() to balance pte_offset_map() 2023-06-19 16:19:10 -07:00
.gitignore
Kconfig lazy tlb: shoot lazies, non-refcounting lazy tlb mm reference handling scheme 2023-03-28 16:20:08 -07:00