All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm64: mm: define NET_IP_ALIGN to 0
@ 2018-11-07 17:10 Ard Biesheuvel
  2018-11-07 18:10 ` Mark Rutland
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Ard Biesheuvel @ 2018-11-07 17:10 UTC (permalink / raw)
  To: linux-arm-kernel

On arm64, there is no need to add 2 bytes of padding to the start of
each network buffer just to make the IP header appear 32-bit aligned.

Since this might actually adversely affect DMA performance some
platforms, let's override NET_IP_ALIGN to 0 to get rid of this
padding.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 arch/arm64/include/asm/processor.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h
index 3e2091708b8e..6b0d4dff5012 100644
--- a/arch/arm64/include/asm/processor.h
+++ b/arch/arm64/include/asm/processor.h
@@ -24,6 +24,14 @@
 #define KERNEL_DS	UL(-1)
 #define USER_DS		(TASK_SIZE_64 - 1)
 
+/*
+ * On arm64 systems, unaligned accesses by the CPU are cheap, and so there is
+ * no point in shifting all network buffers by 2 bytes just to make some IP
+ * header fields appear aligned in memory, potentially sacrificing some DMA
+ * performance on some platforms.
+ */
+#define NET_IP_ALIGN	0
+
 #ifndef __ASSEMBLY__
 #ifdef __KERNEL__
 
-- 
2.19.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2018-11-29  1:51 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-07 17:10 [PATCH] arm64: mm: define NET_IP_ALIGN to 0 Ard Biesheuvel
2018-11-07 18:10 ` Mark Rutland
2018-11-07 23:18   ` Ard Biesheuvel
2018-11-08 10:06     ` Mark Rutland
2018-11-08 10:34       ` Ard Biesheuvel
2018-11-07 21:14 ` Will Deacon
2018-11-08 12:22 ` Ilias Apalodimas
2018-11-08 17:51 ` Catalin Marinas
2018-11-28  6:02 ` Kunihiko Hayashi
2018-11-28 11:58   ` Ard Biesheuvel
2018-11-29  1:50     ` Kunihiko Hayashi
2018-11-28 12:04   ` Will Deacon
2018-11-29  1:51     ` Kunihiko Hayashi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.