Commit 7acedaf5 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller

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: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5e1fc7c5
...@@ -1790,6 +1790,7 @@ struct net_device { ...@@ -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 { ...@@ -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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment