linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ardb@kernel.org>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,  Marc Zyngier <maz@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	 Linus Torvalds <torvalds@linux-foundation.org>,
	 Linux Memory Management List <linux-mm@kvack.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	 Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH 07/10] crypto: Use ARCH_DMA_MINALIGN instead of ARCH_KMALLOC_MINALIGN
Date: Fri, 15 Apr 2022 12:22:27 +0200	[thread overview]
Message-ID: <CAMj1kXFjLbtpJLFh-C_k3Ydcg4M7NqrCfOXnBY2iSxusWtBLbA@mail.gmail.com> (raw)
In-Reply-To: <YllE+wWqP6F+1nwa@gondor.apana.org.au>

On Fri, 15 Apr 2022 at 12:12, Herbert Xu <herbert@gondor.apana.org.au> wrote:
>
> On Fri, Apr 15, 2022 at 11:51:49AM +0200, Ard Biesheuvel wrote:
> >
> > That is the whole point, really: ARCH_DMA_MINALIGN==128 does not mean
> > __ctx needs to be aligned to 128 bytes, it only means that it should
> > not share a 128 byte cacheline with the preceding fields. So if
> > kmalloc() returns buffers that are aligned to whatever alignment the
> > platform requires (which will be 64 in most cases), the above
> > arrangement ensures that, without requiring that CRYPTO_MINALIGN ==
> > ARCH_DMA_MINALIGN.
>
> What if they started sharing a cacheline with the subsequent object?
> I guess you could add some more padding at the end though.
>

Subsequent objects are owned by the driver, and it is the
responsibility of the driver not to modify the fields while it is also
mapped for DMA (and we have had issues in the past where drivers
violated this rule). So as long as ARCH_KMALLOC_ALIGN guarantees
actual DMA minimum alignment for both the start and the end, we
shouldn't need any explicit padding at the end.

> I could accept this as a temporary solution, if you volunteer to
> modify all the affected drivers so we can get rid of this bandaid.
>

I'l do a scan of drivers/crypto to figure out how much we are relying
on this to begin with.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-04-15 10:23 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-05 13:57 [PATCH 00/10] mm, arm64: Reduce ARCH_KMALLOC_MINALIGN below the cache line size Catalin Marinas
2022-04-05 13:57 ` [PATCH 01/10] mm/slab: Decouple ARCH_KMALLOC_MINALIGN from ARCH_DMA_MINALIGN Catalin Marinas
2022-04-05 23:59   ` Hyeonggon Yoo
2022-04-06  7:29     ` Arnd Bergmann
2022-04-06 12:09       ` Hyeonggon Yoo
2022-04-06  8:53     ` Catalin Marinas
2022-04-08  6:42   ` Hyeonggon Yoo
2022-04-08  9:06     ` Hyeonggon Yoo
2022-04-08  9:11     ` Catalin Marinas
2022-04-11 10:37   ` Hyeonggon Yoo
2022-04-11 14:02     ` Catalin Marinas
2022-04-05 13:57 ` [PATCH 02/10] drivers/base: Use ARCH_DMA_MINALIGN instead of ARCH_KMALLOC_MINALIGN Catalin Marinas
2022-04-11 14:57   ` Andy Shevchenko
2022-04-11 17:39     ` Catalin Marinas
2022-04-05 13:57 ` [PATCH 03/10] drivers/gpu: " Catalin Marinas
2022-04-05 13:57 ` [PATCH 04/10] drivers/md: " Catalin Marinas
2022-04-05 13:57 ` [PATCH 05/10] drivers/spi: " Catalin Marinas
2022-04-05 14:05   ` Mark Brown
2022-04-05 13:57 ` [PATCH 06/10] drivers/usb: " Catalin Marinas
2022-04-05 13:57 ` [PATCH 07/10] crypto: " Catalin Marinas
2022-04-05 22:57   ` Herbert Xu
2022-04-06  6:53     ` Ard Biesheuvel
2022-04-06  8:49       ` Catalin Marinas
2022-04-06  9:41         ` Ard Biesheuvel
2022-04-07  4:30         ` Herbert Xu
2022-04-07 11:01           ` Catalin Marinas
2022-04-07 11:40             ` Herbert Xu
2022-04-07 16:28               ` Catalin Marinas
2022-04-08  3:25                 ` Herbert Xu
2022-04-08  9:04                   ` Catalin Marinas
2022-04-08  9:11                     ` Herbert Xu
2022-04-12  9:32                       ` Catalin Marinas
2022-04-12  9:40                         ` Herbert Xu
2022-04-12 10:02                           ` Catalin Marinas
2022-04-12 10:18                             ` Herbert Xu
2022-04-12 12:31                               ` Catalin Marinas
2022-04-12 22:01                                 ` Ard Biesheuvel
2022-04-13  8:47                                   ` Catalin Marinas
2022-04-13 19:53                                     ` Linus Torvalds
2022-04-14  5:38                                       ` Greg Kroah-Hartman
2022-04-14 13:52                                         ` Ard Biesheuvel
2022-04-14 14:27                                           ` Greg Kroah-Hartman
2022-04-14 14:36                                             ` Ard Biesheuvel
2022-04-14 14:52                                               ` Greg Kroah-Hartman
2022-04-14 15:01                                                 ` Ard Biesheuvel
2022-04-14 15:10                                                   ` Ard Biesheuvel
2022-04-14 19:49                                       ` Catalin Marinas
2022-04-14 22:25                                         ` Linus Torvalds
2022-04-15  6:03                                           ` Ard Biesheuvel
2022-04-15 11:09                                           ` Arnd Bergmann
2022-04-16  9:42                                           ` Catalin Marinas
2022-04-20 19:07                                           ` Catalin Marinas
2022-04-20 19:33                                             ` Linus Torvalds
2022-04-14 14:30                                     ` Ard Biesheuvel
2022-04-15  6:51                                     ` Herbert Xu
2022-04-15  7:49                                       ` Ard Biesheuvel
2022-04-15  7:51                                         ` Herbert Xu
2022-04-15  8:05                                           ` Ard Biesheuvel
2022-04-15  8:12                                             ` Herbert Xu
2022-04-15  9:51                                               ` Ard Biesheuvel
2022-04-15 10:04                                                 ` Ard Biesheuvel
2022-04-15 10:12                                                 ` Herbert Xu
2022-04-15 10:22                                                   ` Ard Biesheuvel [this message]
2022-04-15 10:45                                                     ` Herbert Xu
2022-04-15 11:38                                                       ` Ard Biesheuvel
2022-04-17  8:08                                                         ` Herbert Xu
2022-04-17  8:31                                                           ` Catalin Marinas
2022-04-17  8:35                                                             ` Herbert Xu
2022-04-17  8:50                                                               ` Catalin Marinas
2022-04-17  8:58                                                                 ` Herbert Xu
2022-04-17 16:30                                                                   ` Catalin Marinas
2022-04-18  8:37                                                                     ` Herbert Xu
2022-04-18  9:19                                                                       ` Catalin Marinas
2022-04-18 16:44                                                                       ` Catalin Marinas
2022-04-19 21:50                                                                         ` Ard Biesheuvel
2022-04-20 10:36                                                                           ` Catalin Marinas
2022-04-20 11:29                                                                           ` Arnd Bergmann
2022-04-21  7:20                                                                             ` Christoph Hellwig
2022-04-21  7:36                                                                               ` Arnd Bergmann
2022-04-21  7:44                                                                                 ` Christoph Hellwig
2022-04-21  8:05                                                                               ` Ard Biesheuvel
2022-04-21 11:06                                                                               ` Catalin Marinas
2022-04-21 12:28                                                                                 ` Arnd Bergmann
2022-04-21 13:25                                                                                   ` Catalin Marinas
2022-04-21 13:47                                                                                     ` Arnd Bergmann
2022-04-21 14:44                                                                                       ` Catalin Marinas
2022-04-21 14:47                                                                                         ` Arnd Bergmann
2022-05-10 11:03                                                                       ` [RFC PATCH 0/7] crypto: Add helpers for allocating with DMA alignment Herbert Xu
2022-05-10 11:07                                                                         ` [RFC PATCH 1/7] crypto: Prepare to move crypto_tfm_ctx Herbert Xu
2022-05-10 11:07                                                                         ` [RFC PATCH 2/7] crypto: api - Add crypto_tfm_ctx_dma Herbert Xu
2022-05-10 17:10                                                                           ` Catalin Marinas
2022-05-12  3:57                                                                             ` Herbert Xu
2022-05-10 11:07                                                                         ` [RFC PATCH 3/7] crypto: aead - Add ctx helpers with DMA alignment Herbert Xu
2022-05-10 11:07                                                                         ` [RFC PATCH 4/7] crypto: hash " Herbert Xu
2022-05-10 11:07                                                                         ` [RFC PATCH 5/7] crypto: skcipher " Herbert Xu
2022-05-10 11:07                                                                         ` [RFC PATCH 6/7] crypto: api - Increase MAX_ALGAPI_ALIGNMASK to 127 Herbert Xu
2022-05-10 11:07                                                                         ` [RFC PATCH 7/7] crypto: caam - Explicitly request DMA alignment Herbert Xu
2022-04-15 12:18                                             ` [PATCH 07/10] crypto: Use ARCH_DMA_MINALIGN instead of ARCH_KMALLOC_MINALIGN Catalin Marinas
2022-04-15 12:25                                               ` Ard Biesheuvel
2022-04-15  9:51                                           ` Catalin Marinas
2022-04-15 12:31                                             ` Catalin Marinas
2022-04-17  8:11                                               ` Herbert Xu
2022-04-17  8:38                                                 ` Catalin Marinas
2022-04-17  8:43                                                   ` Herbert Xu
2022-04-17 16:29                                                     ` Catalin Marinas
2022-07-15 22:23                                                       ` Isaac Manjarres
2022-07-16  3:25                                                         ` Herbert Xu
2022-07-18 17:53                                                           ` Catalin Marinas
2022-09-21  0:47                                                             ` Isaac Manjarres
2022-09-30 18:32                                                               ` Catalin Marinas
2022-09-30 19:35                                                                 ` Linus Torvalds
2022-10-01 22:29                                                                   ` Catalin Marinas
2022-10-02 17:00                                                                     ` Linus Torvalds
2022-10-02 22:08                                                                       ` Ard Biesheuvel
2022-10-02 22:24                                                                         ` Linus Torvalds
2022-10-03 17:39                                                                           ` Catalin Marinas
2022-10-12 17:45                                                                 ` Isaac Manjarres
2022-10-13 16:57                                                                   ` Catalin Marinas
2022-10-13 18:58                                                                     ` Saravana Kannan
2022-10-14 16:25                                                                       ` Catalin Marinas
2022-10-14 20:23                                                                         ` Saravana Kannan
2022-10-14 20:44                                                                           ` Linus Torvalds
2022-10-16 21:37                                                                             ` Catalin Marinas
2022-04-12 10:20                             ` Catalin Marinas
2022-04-07  6:14   ` Muchun Song
2022-04-07  9:25     ` Catalin Marinas
2022-04-07 10:00       ` Muchun Song
2022-04-07 11:06         ` Catalin Marinas
2022-04-05 13:57 ` [PATCH 08/10] mm/slab: Allow dynamic kmalloc() minimum alignment Catalin Marinas
2022-04-07  3:46   ` Hyeonggon Yoo
2022-04-07  8:50     ` Catalin Marinas
2022-04-07  9:18       ` Hyeonggon Yoo
2022-04-07  9:35         ` Catalin Marinas
2022-04-07 12:26           ` Hyeonggon Yoo
2022-04-11 11:55   ` Hyeonggon Yoo
2022-04-05 13:57 ` [PATCH 09/10] mm/slab: Simplify create_kmalloc_cache() args and make it static Catalin Marinas
2022-04-05 13:57 ` [PATCH 10/10] arm64: Enable dynamic kmalloc() minimum alignment Catalin Marinas
2022-04-07 14:40 ` [PATCH 00/10] mm, arm64: Reduce ARCH_KMALLOC_MINALIGN below the cache line size Vlastimil Babka
2022-04-07 17:48   ` Catalin Marinas
2022-04-08 14:37     ` Vlastimil Babka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMj1kXFjLbtpJLFh-C_k3Ydcg4M7NqrCfOXnBY2iSxusWtBLbA@mail.gmail.com \
    --to=ardb@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=davem@davemloft.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=maz@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).