net: bridge: mdb: arrange internal structs so fast-path fields are close
Before this patch we'd need 2 cache lines for fast-path, now all used fields are in the first cache line. Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
bb1416adb8
commit
6ec0d0ee66
@@ -217,23 +217,27 @@ struct net_bridge_fdb_entry {
|
|||||||
struct net_bridge_port_group {
|
struct net_bridge_port_group {
|
||||||
struct net_bridge_port *port;
|
struct net_bridge_port *port;
|
||||||
struct net_bridge_port_group __rcu *next;
|
struct net_bridge_port_group __rcu *next;
|
||||||
struct hlist_node mglist;
|
|
||||||
struct rcu_head rcu;
|
|
||||||
struct timer_list timer;
|
|
||||||
struct br_ip addr;
|
struct br_ip addr;
|
||||||
unsigned char eth_addr[ETH_ALEN] __aligned(2);
|
unsigned char eth_addr[ETH_ALEN] __aligned(2);
|
||||||
unsigned char flags;
|
unsigned char flags;
|
||||||
|
|
||||||
|
struct timer_list timer;
|
||||||
|
struct hlist_node mglist;
|
||||||
|
|
||||||
|
struct rcu_head rcu;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct net_bridge_mdb_entry {
|
struct net_bridge_mdb_entry {
|
||||||
struct rhash_head rhnode;
|
struct rhash_head rhnode;
|
||||||
struct net_bridge *br;
|
struct net_bridge *br;
|
||||||
struct net_bridge_port_group __rcu *ports;
|
struct net_bridge_port_group __rcu *ports;
|
||||||
struct rcu_head rcu;
|
|
||||||
struct timer_list timer;
|
|
||||||
struct br_ip addr;
|
struct br_ip addr;
|
||||||
bool host_joined;
|
bool host_joined;
|
||||||
|
|
||||||
|
struct timer_list timer;
|
||||||
struct hlist_node mdb_node;
|
struct hlist_node mdb_node;
|
||||||
|
|
||||||
|
struct rcu_head rcu;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct net_bridge_port {
|
struct net_bridge_port {
|
||||||
|
|||||||
Reference in New Issue
Block a user