diff mbox

[next] netdevice: shrink size of struct netdev_queue

Message ID 1462238949-3271-1-git-send-email-fw@strlen.de
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Florian Westphal May 3, 2016, 1:29 a.m. UTC
- trans_timeout is incremented when tx queue timed out (tx watchdog).
- tx_maxrate is set via sysfs

Moving tx_maxrate to read-mostly part shrinks the struct by 64 bytes.
While at it, also move trans_timeout (it is out-of-place in the
'write-mostly' part).

Signed-off-by: Florian Westphal <fw@strlen.de>
---
 include/linux/netdevice.h | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

Comments

Eric Dumazet May 3, 2016, 1:49 a.m. UTC | #1
On Tue, 2016-05-03 at 03:29 +0200, Florian Westphal wrote:
> - trans_timeout is incremented when tx queue timed out (tx watchdog).
> - tx_maxrate is set via sysfs
> 
> Moving tx_maxrate to read-mostly part shrinks the struct by 64 bytes.
> While at it, also move trans_timeout (it is out-of-place in the
> 'write-mostly' part).
> 
> Signed-off-by: Florian Westphal <fw@strlen.de>
> ---

Acked-by: Eric Dumazet <edumazet@google.com>
David Miller May 3, 2016, 2:51 a.m. UTC | #2
From: Florian Westphal <fw@strlen.de>
Date: Tue,  3 May 2016 03:29:09 +0200

> - trans_timeout is incremented when tx queue timed out (tx watchdog).
> - tx_maxrate is set via sysfs
> 
> Moving tx_maxrate to read-mostly part shrinks the struct by 64 bytes.
> While at it, also move trans_timeout (it is out-of-place in the
> 'write-mostly' part).
> 
> Signed-off-by: Florian Westphal <fw@strlen.de>

Applied, thanks Florian.
diff mbox

Patch

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 52914a8..f218259 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -569,6 +569,12 @@  struct netdev_queue {
 #if defined(CONFIG_XPS) && defined(CONFIG_NUMA)
 	int			numa_node;
 #endif
+	unsigned long		tx_maxrate;
+	/*
+	 * Number of TX timeouts for this queue
+	 * (/sys/class/net/DEV/Q/trans_timeout)
+	 */
+	unsigned long		trans_timeout;
 /*
  * write-mostly part
  */
@@ -579,18 +585,11 @@  struct netdev_queue {
 	 */
 	unsigned long		trans_start;
 
-	/*
-	 * Number of TX timeouts for this queue
-	 * (/sys/class/net/DEV/Q/trans_timeout)
-	 */
-	unsigned long		trans_timeout;
-
 	unsigned long		state;
 
 #ifdef CONFIG_BQL
 	struct dql		dql;
 #endif
-	unsigned long		tx_maxrate;
 } ____cacheline_aligned_in_smp;
 
 static inline int netdev_queue_numa_node_read(const struct netdev_queue *q)