[patch 3/7] [PATCH] net,s390: provide architecture specific NET_SKB_PAD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Horst Hartmann <horsth@xxxxxxxxxxxxxxxxxx>

NET_SKB_PAD has been increased from 32 to 64 and later to max(32, L1_CACHE_BYTES). 
This led to a 25% throughput decrease for streaming workloads accompanied by a                                                               
37% CPU cost increase on s390.
In order to fix this provide an architecture specific NET_SKB_PAD config symbol.

Signed-off-by: Horst Hartmann <horsth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Frank Blaschka <frank.blaschka@xxxxxxxxxx>
---


 arch/s390/Kconfig      |    4 ++++
 include/linux/skbuff.h |    4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -49,6 +49,10 @@ config NO_DMA
 config ARCH_DMA_ADDR_T_64BIT
 	def_bool 64BIT
 
+config NET_SKB_PAD
+	int
+	default "32"
+
 config GENERIC_LOCKBREAK
 	def_bool y if SMP && PREEMPT
 
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -1431,8 +1431,10 @@ static inline int pskb_network_may_pull(
  * get_rps_cpus() for example only access one 64 bytes aligned block :
  * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
  */
-#ifndef NET_SKB_PAD
+#ifndef CONFIG_NET_SKB_PAD
 #define NET_SKB_PAD	max(32, L1_CACHE_BYTES)
+#else
+#define NET_SKB_PAD	CONFIG_NET_SKB_PAD
 #endif
 
 extern int ___pskb_trim(struct sk_buff *skb, unsigned int len);

--
To unsubscribe from this list: send the line "unsubscribe linux-s390" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux