On Sun, Apr 17, 2022 at 04:35:58PM +0800, Herbert Xu wrote: > On Sun, Apr 17, 2022 at 09:31:09AM +0100, Catalin Marinas wrote: > > > > Not with my series, the non-sharing of cache lines is preserved. > > kmalloc() still returns objects aligned to a cache-line. > > ARCH_DMA_MINALIGN was chosen as the cover-all value for all SoCs > > supported but I want to reduce the kmalloc() alignment to a cache line > > size if a platform has a cache line smaller than ARCH_DMA_MINALIGN (most > > arm64 SoCs have a cache line of 64 bytes rather than 128). > > OK, but then you don't need to play with CRYPTO_MINALIGN at all, > right? All you need to do is add the padding between the Crypto > API fields and the context structure, right? Right, if that's what you prefer. Something like: diff --git a/include/linux/crypto.h b/include/linux/crypto.h index 2324ab6f1846..bb645b2f2718 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h @@ -645,7 +645,7 @@ struct crypto_tfm { struct crypto_alg *__crt_alg; - void *__crt_ctx[] CRYPTO_MINALIGN_ATTR; + void *__crt_ctx[] __aligned(ARCH_DMA_MINALIGN); }; But once we do that, are there any other CRYPTO_MINALIGN left around? -- Catalin