From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 780E5C433EF for ; Sun, 17 Apr 2022 08:31:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D83676B0072; Sun, 17 Apr 2022 04:31:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D336F6B0073; Sun, 17 Apr 2022 04:31:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C21C46B0074; Sun, 17 Apr 2022 04:31:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id B2A0A6B0072 for ; Sun, 17 Apr 2022 04:31:17 -0400 (EDT) Received: from smtpin29.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 5D9288249980 for ; Sun, 17 Apr 2022 08:31:17 +0000 (UTC) X-FDA: 79365701394.29.EF6ACDD Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf24.hostedemail.com (Postfix) with ESMTP id B684B180002 for ; Sun, 17 Apr 2022 08:31:16 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id BF8B361154; Sun, 17 Apr 2022 08:31:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 03810C385A4; Sun, 17 Apr 2022 08:31:12 +0000 (UTC) Date: Sun, 17 Apr 2022 09:31:09 +0100 From: Catalin Marinas To: Herbert Xu Cc: Ard Biesheuvel , Will Deacon , Marc Zyngier , Arnd Bergmann , Greg Kroah-Hartman , Andrew Morton , Linus Torvalds , Linux Memory Management List , Linux ARM , Linux Kernel Mailing List , "David S. Miller" Subject: Re: [PATCH 07/10] crypto: Use ARCH_DMA_MINALIGN instead of ARCH_KMALLOC_MINALIGN Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Authentication-Results: imf24.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf24.hostedemail.com: domain of cmarinas@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cmarinas@kernel.org X-Rspam-User: X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: B684B180002 X-Stat-Signature: 13n83d8h78foq4tac86xyykunweb3a5g X-HE-Tag: 1650184276-577950 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sun, Apr 17, 2022 at 04:08:22PM +0800, Herbert Xu wrote: > On Fri, Apr 15, 2022 at 01:38:15PM +0200, Ard Biesheuvel wrote: > > If this is the case, things are already broken today. We never take > > ARCH_DMA_MINALIGN into account when adding the driver ctx size to the > > overall allocation size. > > No it's not broken because kmalloc guarantees alignment. For > example, if ARCH_DMA_MINALIGN is 128 bytes, then kmalloc will > always return a pointer that's 128-byte aligned. That guarantees > this object and the next object are on different cache-lines. > > If you reduce the kmalloc minimum alignment to 64 bytes, then > the two neighbouring objects can share cache-lines, even if > each object is bigger than 128 bytes (e.g., if they were 192 > bytes each). 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). -- Catalin