[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191217154535.GA3718632@kroah.com>
Date: Tue, 17 Dec 2019 16:45:35 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Alexey Brodkin <alexey.brodkin@...opsys.com>,
Marc Gonzalez <marc.w.gonzalez@...e.fr>
Cc: Rafael Wysocki <rjw@...ysocki.net>,
LKML <linux-kernel@...r.kernel.org>,
Robin Murphy <robin.murphy@....com>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Alexey Brodkin <alexey.brodkin@...opsys.com>,
Peter Zijlstra <peterz@...radead.org>,
Will Deacon <will@...nel.org>,
Russell King <rmk+kernel@...linux.org.uk>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Tejun Heo <tj@...nel.org>, Mark Brown <broonie@...nel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [RFC PATCH v1] devres: align devres.data strictly only for
devm_kmalloc()
On Tue, Dec 17, 2019 at 04:30:54PM +0100, Marc Gonzalez wrote:
> Commit a66d972465d15 ("devres: Align data[] to ARCH_KMALLOC_MINALIGN")
> increased the alignment of devres.data unconditionally.
>
> Some platforms have very strict alignment requirements for DMA-safe
> addresses, e.g. 128 bytes on arm64. There, struct devres amounts to:
> 3 pointers + pad_to_128 + data + pad_to_256
> i.e. ~220 bytes of padding.
>
> Let's enforce the alignment only for devm_kmalloc().
>
> Suggested-by: Robin Murphy <robin.murphy@....com>
> Signed-off-by: Marc Gonzalez <marc.w.gonzalez@...e.fr>
> ---
> I had not been aware that dynamic allocation granularity on arm64 was
> 128 bytes. This means there's a lot of waste on small allocations.
> I suppose there's no easy solution, though.
> ---
> drivers/base/devres.c | 23 +++++++++++++----------
> 1 file changed, 13 insertions(+), 10 deletions(-)
You need to get Alexey to agree with this, he's the one that hit this on
ARC :)
thanks,
greg k-h
Powered by blists - more mailing lists