Commit 6ec0d0ee authored by Nikolay Aleksandrov's avatar Nikolay Aleksandrov Committed by Jakub Kicinski
Browse files

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: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent bb1416ad
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -217,23 +217,27 @@ struct net_bridge_fdb_entry {
struct net_bridge_port_group {
	struct net_bridge_port		*port;
	struct net_bridge_port_group __rcu *next;
	struct hlist_node		mglist;
	struct rcu_head			rcu;
	struct timer_list		timer;
	struct br_ip			addr;
	unsigned char			eth_addr[ETH_ALEN] __aligned(2);
	unsigned char			flags;

	struct timer_list		timer;
	struct hlist_node		mglist;

	struct rcu_head			rcu;
};

struct net_bridge_mdb_entry {
	struct rhash_head		rhnode;
	struct net_bridge		*br;
	struct net_bridge_port_group __rcu *ports;
	struct rcu_head			rcu;
	struct timer_list		timer;
	struct br_ip			addr;
	bool				host_joined;

	struct timer_list		timer;
	struct hlist_node		mdb_node;

	struct rcu_head			rcu;
};

struct net_bridge_port {