Browse Source

net: move xdp_prog field in RX cache lines

(struct net_device, xdp_prog) field should be moved in RX cache lines,
reducing latencies when a single packet is received on idle host,
since netif_elide_gro() needs it.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eric Dumazet 8 years ago
parent
commit
7acedaf5c4
1 changed files with 1 additions and 1 deletions
  1. 1 1
      include/linux/netdevice.h

+ 1 - 1
include/linux/netdevice.h

@@ -1790,6 +1790,7 @@ struct net_device {
 	unsigned int		real_num_rx_queues;
 	unsigned int		real_num_rx_queues;
 #endif
 #endif
 
 
+	struct bpf_prog __rcu	*xdp_prog;
 	unsigned long		gro_flush_timeout;
 	unsigned long		gro_flush_timeout;
 	rx_handler_func_t __rcu	*rx_handler;
 	rx_handler_func_t __rcu	*rx_handler;
 	void __rcu		*rx_handler_data;
 	void __rcu		*rx_handler_data;
@@ -1905,7 +1906,6 @@ struct net_device {
 	struct lock_class_key	*qdisc_tx_busylock;
 	struct lock_class_key	*qdisc_tx_busylock;
 	struct lock_class_key	*qdisc_running_key;
 	struct lock_class_key	*qdisc_running_key;
 	bool			proto_down;
 	bool			proto_down;
-	struct bpf_prog __rcu	*xdp_prog;
 };
 };
 #define to_net_dev(d) container_of(d, struct net_device, dev)
 #define to_net_dev(d) container_of(d, struct net_device, dev)