netns: net_identifiers should be read_mostly
authorEric Dumazet <eric.dumazet@gmail.com>
Tue, 17 Nov 2009 10:42:49 +0000 (10:42 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Nov 2009 13:03:25 +0000 (05:03 -0800)
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 files changed:
drivers/net/bonding/bond_main.c
drivers/net/ppp_generic.c
drivers/net/pppoe.c
drivers/net/pppol2tp.c
net/8021q/vlan.c
net/ipv4/ip_gre.c
net/ipv4/ipip.c
net/ipv6/ip6_tunnel.c
net/ipv6/sit.c
net/key/af_key.c
net/netfilter/nf_conntrack_proto_dccp.c
net/netfilter/nf_conntrack_proto_gre.c
net/phonet/pn_dev.c

index ecea6c294132945a09ab87b05e07bb2427e73d7a..726bd755338f23e32e0bd9f657d990108fad35c8 100644 (file)
@@ -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 =
        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 int arp_ip_count;
index 965adb6174c33a4b65223fabd7372f3da4781b35..0a56a778af0a0eeb3c96fa964e2699a83b40f0d6 100644 (file)
@@ -184,7 +184,7 @@ static atomic_t ppp_unit_count = ATOMIC_INIT(0);
 static atomic_t channel_count = ATOMIC_INIT(0);
 
 /* per-net private data for this module */
-static int ppp_net_id;
+static int ppp_net_id __read_mostly;
 struct ppp_net {
        /* units to ppp mapping */
        struct idr units_idr;
index 60c8d233209faa448d278ccd2b4b3f81d8c1ab78..a1dcba255b0616a4828a46f77ff02ade9f6e8bba 100644 (file)
@@ -97,7 +97,7 @@ static const struct proto_ops pppoe_ops;
 static struct ppp_channel_ops pppoe_chan_ops;
 
 /* per-net private data for this module */
-static int pppoe_net_id;
+static int pppoe_net_id __read_mostly;
 struct pppoe_net {
        /*
         * we could use _single_ hash table for all
index 849cc9c62c2a10f8fe1ab139d8882c1a79dcc591..442c382c2c850f4940f49cd0bbb63ae14d10e717 100644 (file)
@@ -232,7 +232,7 @@ static struct ppp_channel_ops pppol2tp_chan_ops = { pppol2tp_xmit , NULL };
 static const struct proto_ops pppol2tp_ops;
 
 /* per-net private data for this module */
-static int pppol2tp_net_id;
+static int pppol2tp_net_id __read_mostly;
 struct pppol2tp_net {
        struct list_head pppol2tp_tunnel_list;
        rwlock_t pppol2tp_tunnel_list_lock;
index 39f8d0120104ce316bfe35c3f1977ec4e5af7379..d9cb020029b907578a3794c6db8e835d0db87c89 100644 (file)
@@ -41,7 +41,7 @@
 
 /* Global VLAN variables */
 
-int vlan_net_id;
+int vlan_net_id __read_mostly;
 
 /* Our listing of VLAN group(s) */
 static struct hlist_head vlan_group_hash[VLAN_GRP_HASH_SIZE];
index a7de9e3a8f1860b7ffc982ada513cfa8fa705b5c..c5f6af5d0f3401d4cc6a156bf3b1269b8e9319b0 100644 (file)
@@ -125,7 +125,7 @@ static int ipgre_tunnel_bind_dev(struct net_device *dev);
 
 #define HASH_SIZE  16
 
-static int ipgre_net_id;
+static int ipgre_net_id __read_mostly;
 struct ipgre_net {
        struct ip_tunnel *tunnels[4][HASH_SIZE];
 
index c5b1f71c3cd8cadb0f131ea242d808ab51f9273f..7242ffcc44e5590103f53f91f2d828485dd98547 100644 (file)
 #define HASH_SIZE  16
 #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 ip_tunnel *tunnels_r_l[HASH_SIZE];
        struct ip_tunnel *tunnels_r[HASH_SIZE];
index 1d614113a4ba9afff556e5975917924c92b4b7b5..e5c0f6bb83147b809cdf4717cd636cc30ca3c597 100644 (file)
@@ -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_setup(struct net_device *dev);
 
-static int ip6_tnl_net_id;
+static int ip6_tnl_net_id __read_mostly;
 struct ip6_tnl_net {
        /* the IPv6 tunnel fallback device */
        struct net_device *fb_tnl_dev;
index b6e145a673ab6fa8af4bd3a940d9ab7313800cf4..d9deaa7753ef25d0aeaeb151c591260493b0314a 100644 (file)
@@ -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_setup(struct net_device *dev);
 
-static int sit_net_id;
+static int sit_net_id __read_mostly;
 struct sit_net {
        struct ip_tunnel *tunnels_r_l[HASH_SIZE];
        struct ip_tunnel *tunnels_r[HASH_SIZE];
index 86b2c22d091876cdfd3a26e3711b58a3bd0b32b0..478c8b32a5fb9802d3592614e8c971b16b644bd5 100644 (file)
@@ -35,7 +35,7 @@
 #define _X2KEY(x) ((x) == XFRM_INF ? 0 : (x))
 #define _KEY2X(x) ((x) == 0 ? XFRM_INF : (x))
 
-static int pfkey_net_id;
+static int pfkey_net_id __read_mostly;
 struct netns_pfkey {
        /* List of all pfkey sockets. */
        struct hlist_head table;
index 1b816a2ea813b9c2383aaf2bc5978692deee40f3..80abdf297b36155aeecced16f2ed61b9f0144f65 100644 (file)
@@ -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 */
-static int dccp_net_id;
+static int dccp_net_id __read_mostly;
 struct dccp_net {
        int dccp_loose;
        unsigned int dccp_timeout[CT_DCCP_MAX + 1];
index a54a0af0edbaa753fee5f65a80c84e95cd1b955e..91d0e719d67ca3bd873b71ab6f1082b69833c4d9 100644 (file)
@@ -43,7 +43,7 @@
 #define GRE_TIMEOUT            (30 * 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 {
        rwlock_t                keymap_lock;
        struct list_head        keymap_list;
index 3287f8f0b5ccfcd1058ff1cbbdfd48de4ed42fbf..d5ad7947d7715a5696cc710ff86503d13f6de2e8 100644 (file)
@@ -43,7 +43,7 @@ struct phonet_net {
        struct phonet_routes routes;
 };
 
-int phonet_net_id;
+int phonet_net_id __read_mostly;
 
 struct phonet_device_list *phonet_device_list(struct net *net)
 {