提交 f99189b1 编写于 作者: E Eric Dumazet 提交者: David S. Miller

netns: net_identifiers should be read_mostly

Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 615534bc
...@@ -158,7 +158,7 @@ MODULE_PARM_DESC(fail_over_mac, "For active-backup, do not set all slaves to the ...@@ -158,7 +158,7 @@ MODULE_PARM_DESC(fail_over_mac, "For active-backup, do not set all slaves to the
static const char * const version = static const char * const version =
DRV_DESCRIPTION ": v" DRV_VERSION " (" DRV_RELDATE ")\n"; DRV_DESCRIPTION ": v" DRV_VERSION " (" DRV_RELDATE ")\n";
int bond_net_id; int bond_net_id __read_mostly;
static __be32 arp_target[BOND_MAX_ARP_TARGETS]; static __be32 arp_target[BOND_MAX_ARP_TARGETS];
static int arp_ip_count; static int arp_ip_count;
......
...@@ -184,7 +184,7 @@ static atomic_t ppp_unit_count = ATOMIC_INIT(0); ...@@ -184,7 +184,7 @@ static atomic_t ppp_unit_count = ATOMIC_INIT(0);
static atomic_t channel_count = ATOMIC_INIT(0); static atomic_t channel_count = ATOMIC_INIT(0);
/* per-net private data for this module */ /* per-net private data for this module */
static int ppp_net_id; static int ppp_net_id __read_mostly;
struct ppp_net { struct ppp_net {
/* units to ppp mapping */ /* units to ppp mapping */
struct idr units_idr; struct idr units_idr;
......
...@@ -97,7 +97,7 @@ static const struct proto_ops pppoe_ops; ...@@ -97,7 +97,7 @@ static const struct proto_ops pppoe_ops;
static struct ppp_channel_ops pppoe_chan_ops; static struct ppp_channel_ops pppoe_chan_ops;
/* per-net private data for this module */ /* per-net private data for this module */
static int pppoe_net_id; static int pppoe_net_id __read_mostly;
struct pppoe_net { struct pppoe_net {
/* /*
* we could use _single_ hash table for all * we could use _single_ hash table for all
......
...@@ -232,7 +232,7 @@ static struct ppp_channel_ops pppol2tp_chan_ops = { pppol2tp_xmit , NULL }; ...@@ -232,7 +232,7 @@ static struct ppp_channel_ops pppol2tp_chan_ops = { pppol2tp_xmit , NULL };
static const struct proto_ops pppol2tp_ops; static const struct proto_ops pppol2tp_ops;
/* per-net private data for this module */ /* per-net private data for this module */
static int pppol2tp_net_id; static int pppol2tp_net_id __read_mostly;
struct pppol2tp_net { struct pppol2tp_net {
struct list_head pppol2tp_tunnel_list; struct list_head pppol2tp_tunnel_list;
rwlock_t pppol2tp_tunnel_list_lock; rwlock_t pppol2tp_tunnel_list_lock;
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
/* Global VLAN variables */ /* Global VLAN variables */
int vlan_net_id; int vlan_net_id __read_mostly;
/* Our listing of VLAN group(s) */ /* Our listing of VLAN group(s) */
static struct hlist_head vlan_group_hash[VLAN_GRP_HASH_SIZE]; static struct hlist_head vlan_group_hash[VLAN_GRP_HASH_SIZE];
......
...@@ -125,7 +125,7 @@ static int ipgre_tunnel_bind_dev(struct net_device *dev); ...@@ -125,7 +125,7 @@ static int ipgre_tunnel_bind_dev(struct net_device *dev);
#define HASH_SIZE 16 #define HASH_SIZE 16
static int ipgre_net_id; static int ipgre_net_id __read_mostly;
struct ipgre_net { struct ipgre_net {
struct ip_tunnel *tunnels[4][HASH_SIZE]; struct ip_tunnel *tunnels[4][HASH_SIZE];
......
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
#define HASH_SIZE 16 #define HASH_SIZE 16
#define HASH(addr) (((__force u32)addr^((__force u32)addr>>4))&0xF) #define HASH(addr) (((__force u32)addr^((__force u32)addr>>4))&0xF)
static int ipip_net_id; static int ipip_net_id __read_mostly;
struct ipip_net { struct ipip_net {
struct ip_tunnel *tunnels_r_l[HASH_SIZE]; struct ip_tunnel *tunnels_r_l[HASH_SIZE];
struct ip_tunnel *tunnels_r[HASH_SIZE]; struct ip_tunnel *tunnels_r[HASH_SIZE];
......
...@@ -78,7 +78,7 @@ static void ip6_fb_tnl_dev_init(struct net_device *dev); ...@@ -78,7 +78,7 @@ static void ip6_fb_tnl_dev_init(struct net_device *dev);
static void ip6_tnl_dev_init(struct net_device *dev); static void ip6_tnl_dev_init(struct net_device *dev);
static void ip6_tnl_dev_setup(struct net_device *dev); static void ip6_tnl_dev_setup(struct net_device *dev);
static int ip6_tnl_net_id; static int ip6_tnl_net_id __read_mostly;
struct ip6_tnl_net { struct ip6_tnl_net {
/* the IPv6 tunnel fallback device */ /* the IPv6 tunnel fallback device */
struct net_device *fb_tnl_dev; struct net_device *fb_tnl_dev;
......
...@@ -66,7 +66,7 @@ static void ipip6_fb_tunnel_init(struct net_device *dev); ...@@ -66,7 +66,7 @@ static void ipip6_fb_tunnel_init(struct net_device *dev);
static void ipip6_tunnel_init(struct net_device *dev); static void ipip6_tunnel_init(struct net_device *dev);
static void ipip6_tunnel_setup(struct net_device *dev); static void ipip6_tunnel_setup(struct net_device *dev);
static int sit_net_id; static int sit_net_id __read_mostly;
struct sit_net { struct sit_net {
struct ip_tunnel *tunnels_r_l[HASH_SIZE]; struct ip_tunnel *tunnels_r_l[HASH_SIZE];
struct ip_tunnel *tunnels_r[HASH_SIZE]; struct ip_tunnel *tunnels_r[HASH_SIZE];
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#define _X2KEY(x) ((x) == XFRM_INF ? 0 : (x)) #define _X2KEY(x) ((x) == XFRM_INF ? 0 : (x))
#define _KEY2X(x) ((x) == 0 ? XFRM_INF : (x)) #define _KEY2X(x) ((x) == 0 ? XFRM_INF : (x))
static int pfkey_net_id; static int pfkey_net_id __read_mostly;
struct netns_pfkey { struct netns_pfkey {
/* List of all pfkey sockets. */ /* List of all pfkey sockets. */
struct hlist_head table; struct hlist_head table;
......
...@@ -384,7 +384,7 @@ dccp_state_table[CT_DCCP_ROLE_MAX + 1][DCCP_PKT_SYNCACK + 1][CT_DCCP_MAX + 1] = ...@@ -384,7 +384,7 @@ dccp_state_table[CT_DCCP_ROLE_MAX + 1][DCCP_PKT_SYNCACK + 1][CT_DCCP_MAX + 1] =
}; };
/* this module per-net specifics */ /* this module per-net specifics */
static int dccp_net_id; static int dccp_net_id __read_mostly;
struct dccp_net { struct dccp_net {
int dccp_loose; int dccp_loose;
unsigned int dccp_timeout[CT_DCCP_MAX + 1]; unsigned int dccp_timeout[CT_DCCP_MAX + 1];
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
#define GRE_TIMEOUT (30 * HZ) #define GRE_TIMEOUT (30 * HZ)
#define GRE_STREAM_TIMEOUT (180 * HZ) #define GRE_STREAM_TIMEOUT (180 * HZ)
static int proto_gre_net_id; static int proto_gre_net_id __read_mostly;
struct netns_proto_gre { struct netns_proto_gre {
rwlock_t keymap_lock; rwlock_t keymap_lock;
struct list_head keymap_list; struct list_head keymap_list;
......
...@@ -43,7 +43,7 @@ struct phonet_net { ...@@ -43,7 +43,7 @@ struct phonet_net {
struct phonet_routes routes; struct phonet_routes routes;
}; };
int phonet_net_id; int phonet_net_id __read_mostly;
struct phonet_device_list *phonet_device_list(struct net *net) struct phonet_device_list *phonet_device_list(struct net *net)
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册