diff options
author | Brian Haley <brian.haley@hp.com> | 2006-09-22 17:15:41 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-22 17:55:03 -0400 |
commit | ab32ea5d8a760e7dd4339634e95d7be24ee5b842 (patch) | |
tree | 8460a66c529fe03f926848326d9b6aa874e19514 | |
parent | 56fc85ac961e2c20dcb5ef07e2628b3f93de2e49 (diff) |
[NET/IPV4/IPV6]: Change some sysctl variables to __read_mostly
Change net/core, ipv4 and ipv6 sysctl variables to __read_mostly.
Couldn't actually measure any performance increase while testing (.3%
I consider noise), but seems like the right thing to do.
Signed-off-by: Brian Haley <brian.haley@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/core/neighbour.c | 2 | ||||
-rw-r--r-- | net/core/sock.c | 10 | ||||
-rw-r--r-- | net/ipv4/af_inet.c | 4 | ||||
-rw-r--r-- | net/ipv4/icmp.c | 12 | ||||
-rw-r--r-- | net/ipv4/igmp.c | 4 | ||||
-rw-r--r-- | net/ipv4/ip_fragment.c | 10 | ||||
-rw-r--r-- | net/ipv4/ip_output.c | 2 | ||||
-rw-r--r-- | net/ipv4/tcp.c | 2 | ||||
-rw-r--r-- | net/ipv4/tcp_input.c | 36 | ||||
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 4 | ||||
-rw-r--r-- | net/ipv4/tcp_minisocks.c | 4 | ||||
-rw-r--r-- | net/ipv4/tcp_output.c | 12 | ||||
-rw-r--r-- | net/ipv4/tcp_timer.c | 16 | ||||
-rw-r--r-- | net/ipv6/addrconf.c | 6 | ||||
-rw-r--r-- | net/ipv6/af_inet6.c | 2 | ||||
-rw-r--r-- | net/ipv6/icmp.c | 2 | ||||
-rw-r--r-- | net/ipv6/mcast.c | 2 | ||||
-rw-r--r-- | net/ipv6/reassembly.c | 8 |
18 files changed, 69 insertions, 69 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c index 23ae5e5426db..c7e653ff5ed0 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c | |||
@@ -2451,7 +2451,7 @@ static struct neigh_sysctl_table { | |||
2451 | ctl_table neigh_neigh_dir[2]; | 2451 | ctl_table neigh_neigh_dir[2]; |
2452 | ctl_table neigh_proto_dir[2]; | 2452 | ctl_table neigh_proto_dir[2]; |
2453 | ctl_table neigh_root_dir[2]; | 2453 | ctl_table neigh_root_dir[2]; |
2454 | } neigh_sysctl_template = { | 2454 | } neigh_sysctl_template __read_mostly = { |
2455 | .neigh_vars = { | 2455 | .neigh_vars = { |
2456 | { | 2456 | { |
2457 | .ctl_name = NET_NEIGH_MCAST_SOLICIT, | 2457 | .ctl_name = NET_NEIGH_MCAST_SOLICIT, |
diff --git a/net/core/sock.c b/net/core/sock.c index b67d868649cd..cfaf09039b02 100644 --- a/net/core/sock.c +++ b/net/core/sock.c | |||
@@ -187,13 +187,13 @@ static struct lock_class_key af_callback_keys[AF_MAX]; | |||
187 | #define SK_RMEM_MAX (_SK_MEM_OVERHEAD * _SK_MEM_PACKETS) | 187 | #define SK_RMEM_MAX (_SK_MEM_OVERHEAD * _SK_MEM_PACKETS) |
188 | 188 | ||
189 | /* Run time adjustable parameters. */ | 189 | /* Run time adjustable parameters. */ |
190 | __u32 sysctl_wmem_max = SK_WMEM_MAX; | 190 | __u32 sysctl_wmem_max __read_mostly = SK_WMEM_MAX; |
191 | __u32 sysctl_rmem_max = SK_RMEM_MAX; | 191 | __u32 sysctl_rmem_max __read_mostly = SK_RMEM_MAX; |
192 | __u32 sysctl_wmem_default = SK_WMEM_MAX; | 192 | __u32 sysctl_wmem_default __read_mostly = SK_WMEM_MAX; |
193 | __u32 sysctl_rmem_default = SK_RMEM_MAX; | 193 | __u32 sysctl_rmem_default __read_mostly = SK_RMEM_MAX; |
194 | 194 | ||
195 | /* Maximal space eaten by iovec or ancilliary data plus some space */ | 195 | /* Maximal space eaten by iovec or ancilliary data plus some space */ |
196 | int sysctl_optmem_max = sizeof(unsigned long)*(2*UIO_MAXIOV + 512); | 196 | int sysctl_optmem_max __read_mostly = sizeof(unsigned long)*(2*UIO_MAXIOV+512); |
197 | 197 | ||
198 | static int sock_set_timeout(long *timeo_p, char __user *optval, int optlen) | 198 | static int sock_set_timeout(long *timeo_p, char __user *optval, int optlen) |
199 | { | 199 | { |
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 36c38bffb474..f2e8927f4596 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -391,7 +391,7 @@ int inet_release(struct socket *sock) | |||
391 | } | 391 | } |
392 | 392 | ||
393 | /* It is off by default, see below. */ | 393 | /* It is off by default, see below. */ |
394 | int sysctl_ip_nonlocal_bind; | 394 | int sysctl_ip_nonlocal_bind __read_mostly; |
395 | 395 | ||
396 | int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) | 396 | int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) |
397 | { | 397 | { |
@@ -987,7 +987,7 @@ void inet_unregister_protosw(struct inet_protosw *p) | |||
987 | * Shall we try to damage output packets if routing dev changes? | 987 | * Shall we try to damage output packets if routing dev changes? |
988 | */ | 988 | */ |
989 | 989 | ||
990 | int sysctl_ip_dynaddr; | 990 | int sysctl_ip_dynaddr __read_mostly; |
991 | 991 | ||
992 | static int inet_sk_reselect_saddr(struct sock *sk) | 992 | static int inet_sk_reselect_saddr(struct sock *sk) |
993 | { | 993 | { |
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index 6d223e5c6741..c2ad07e48ab4 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c | |||
@@ -187,11 +187,11 @@ struct icmp_err icmp_err_convert[] = { | |||
187 | }; | 187 | }; |
188 | 188 | ||
189 | /* Control parameters for ECHO replies. */ | 189 | /* Control parameters for ECHO replies. */ |
190 | int sysctl_icmp_echo_ignore_all; | 190 | int sysctl_icmp_echo_ignore_all __read_mostly; |
191 | int sysctl_icmp_echo_ignore_broadcasts = 1; | 191 | int sysctl_icmp_echo_ignore_broadcasts __read_mostly = 1; |
192 | 192 | ||
193 | /* Control parameter - ignore bogus broadcast responses? */ | 193 | /* Control parameter - ignore bogus broadcast responses? */ |
194 | int sysctl_icmp_ignore_bogus_error_responses = 1; | 194 | int sysctl_icmp_ignore_bogus_error_responses __read_mostly = 1; |
195 | 195 | ||
196 | /* | 196 | /* |
197 | * Configurable global rate limit. | 197 | * Configurable global rate limit. |
@@ -205,9 +205,9 @@ int sysctl_icmp_ignore_bogus_error_responses = 1; | |||
205 | * time exceeded (11), parameter problem (12) | 205 | * time exceeded (11), parameter problem (12) |
206 | */ | 206 | */ |
207 | 207 | ||
208 | int sysctl_icmp_ratelimit = 1 * HZ; | 208 | int sysctl_icmp_ratelimit __read_mostly = 1 * HZ; |
209 | int sysctl_icmp_ratemask = 0x1818; | 209 | int sysctl_icmp_ratemask __read_mostly = 0x1818; |
210 | int sysctl_icmp_errors_use_inbound_ifaddr; | 210 | int sysctl_icmp_errors_use_inbound_ifaddr __read_mostly; |
211 | 211 | ||
212 | /* | 212 | /* |
213 | * ICMP control array. This specifies what to do with each ICMP. | 213 | * ICMP control array. This specifies what to do with each ICMP. |
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 7003e763d970..58be8227b0cb 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c | |||
@@ -1397,8 +1397,8 @@ static struct in_device * ip_mc_find_dev(struct ip_mreqn *imr) | |||
1397 | /* | 1397 | /* |
1398 | * Join a socket to a group | 1398 | * Join a socket to a group |
1399 | */ | 1399 | */ |
1400 | int sysctl_igmp_max_memberships = IP_MAX_MEMBERSHIPS; | 1400 | int sysctl_igmp_max_memberships __read_mostly = IP_MAX_MEMBERSHIPS; |
1401 | int sysctl_igmp_max_msf = IP_MAX_MSF; | 1401 | int sysctl_igmp_max_msf __read_mostly = IP_MAX_MSF; |
1402 | 1402 | ||
1403 | 1403 | ||
1404 | static int ip_mc_del1_src(struct ip_mc_list *pmc, int sfmode, | 1404 | static int ip_mc_del1_src(struct ip_mc_list *pmc, int sfmode, |
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c index 8d7f107c2eef..165d72859ddf 100644 --- a/net/ipv4/ip_fragment.c +++ b/net/ipv4/ip_fragment.c | |||
@@ -54,15 +54,15 @@ | |||
54 | * even the most extreme cases without allowing an attacker to measurably | 54 | * even the most extreme cases without allowing an attacker to measurably |
55 | * harm machine performance. | 55 | * harm machine performance. |
56 | */ | 56 | */ |
57 | int sysctl_ipfrag_high_thresh = 256*1024; | 57 | int sysctl_ipfrag_high_thresh __read_mostly = 256*1024; |
58 | int sysctl_ipfrag_low_thresh = 192*1024; | 58 | int sysctl_ipfrag_low_thresh __read_mostly = 192*1024; |
59 | 59 | ||
60 | int sysctl_ipfrag_max_dist = 64; | 60 | int sysctl_ipfrag_max_dist __read_mostly = 64; |
61 | 61 | ||
62 | /* Important NOTE! Fragment queue must be destroyed before MSL expires. | 62 | /* Important NOTE! Fragment queue must be destroyed before MSL expires. |
63 | * RFC791 is wrong proposing to prolongate timer each fragment arrival by TTL. | 63 | * RFC791 is wrong proposing to prolongate timer each fragment arrival by TTL. |
64 | */ | 64 | */ |
65 | int sysctl_ipfrag_time = IP_FRAG_TIME; | 65 | int sysctl_ipfrag_time __read_mostly = IP_FRAG_TIME; |
66 | 66 | ||
67 | struct ipfrag_skb_cb | 67 | struct ipfrag_skb_cb |
68 | { | 68 | { |
@@ -130,7 +130,7 @@ static unsigned int ipqhashfn(u16 id, u32 saddr, u32 daddr, u8 prot) | |||
130 | } | 130 | } |
131 | 131 | ||
132 | static struct timer_list ipfrag_secret_timer; | 132 | static struct timer_list ipfrag_secret_timer; |
133 | int sysctl_ipfrag_secret_interval = 10 * 60 * HZ; | 133 | int sysctl_ipfrag_secret_interval __read_mostly = 10 * 60 * HZ; |
134 | 134 | ||
135 | static void ipfrag_secret_rebuild(unsigned long dummy) | 135 | static void ipfrag_secret_rebuild(unsigned long dummy) |
136 | { | 136 | { |
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 1b9b6742ef77..81b2795a4c20 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -83,7 +83,7 @@ | |||
83 | #include <linux/netlink.h> | 83 | #include <linux/netlink.h> |
84 | #include <linux/tcp.h> | 84 | #include <linux/tcp.h> |
85 | 85 | ||
86 | int sysctl_ip_default_ttl = IPDEFTTL; | 86 | int sysctl_ip_default_ttl __read_mostly = IPDEFTTL; |
87 | 87 | ||
88 | /* Generate a checksum for an outgoing IP datagram. */ | 88 | /* Generate a checksum for an outgoing IP datagram. */ |
89 | __inline__ void ip_send_check(struct iphdr *iph) | 89 | __inline__ void ip_send_check(struct iphdr *iph) |
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index b0124e69ab38..e570db4d33c8 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -268,7 +268,7 @@ | |||
268 | #include <asm/uaccess.h> | 268 | #include <asm/uaccess.h> |
269 | #include <asm/ioctls.h> | 269 | #include <asm/ioctls.h> |
270 | 270 | ||
271 | int sysctl_tcp_fin_timeout = TCP_FIN_TIMEOUT; | 271 | int sysctl_tcp_fin_timeout __read_mostly = TCP_FIN_TIMEOUT; |
272 | 272 | ||
273 | DEFINE_SNMP_STAT(struct tcp_mib, tcp_statistics) __read_mostly; | 273 | DEFINE_SNMP_STAT(struct tcp_mib, tcp_statistics) __read_mostly; |
274 | 274 | ||
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 159fa3f1ba67..caf3c41dcc8c 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -72,24 +72,24 @@ | |||
72 | #include <asm/unaligned.h> | 72 | #include <asm/unaligned.h> |
73 | #include <net/netdma.h> | 73 | #include <net/netdma.h> |
74 | 74 | ||
75 | int sysctl_tcp_timestamps = 1; | 75 | int sysctl_tcp_timestamps __read_mostly = 1; |
76 | int sysctl_tcp_window_scaling = 1; | 76 | int sysctl_tcp_window_scaling __read_mostly = 1; |
77 | int sysctl_tcp_sack = 1; | 77 | int sysctl_tcp_sack __read_mostly = 1; |
78 | int sysctl_tcp_fack = 1; | 78 | int sysctl_tcp_fack __read_mostly = 1; |
79 | int sysctl_tcp_reordering = TCP_FASTRETRANS_THRESH; | 79 | int sysctl_tcp_reordering __read_mostly = TCP_FASTRETRANS_THRESH; |
80 | int sysctl_tcp_ecn; | 80 | int sysctl_tcp_ecn __read_mostly; |
81 | int sysctl_tcp_dsack = 1; | 81 | int sysctl_tcp_dsack __read_mostly = 1; |
82 | int sysctl_tcp_app_win = 31; | 82 | int sysctl_tcp_app_win __read_mostly = 31; |
83 | int sysctl_tcp_adv_win_scale = 2; | 83 | int sysctl_tcp_adv_win_scale __read_mostly = 2; |
84 | 84 | ||
85 | int sysctl_tcp_stdurg; | 85 | int sysctl_tcp_stdurg __read_mostly; |
86 | int sysctl_tcp_rfc1337; | 86 | int sysctl_tcp_rfc1337 __read_mostly; |
87 | int sysctl_tcp_max_orphans = NR_FILE; | 87 | int sysctl_tcp_max_orphans __read_mostly = NR_FILE; |
88 | int sysctl_tcp_frto; | 88 | int sysctl_tcp_frto __read_mostly; |
89 | int sysctl_tcp_nometrics_save; | 89 | int sysctl_tcp_nometrics_save __read_mostly; |
90 | 90 | ||
91 | int sysctl_tcp_moderate_rcvbuf = 1; | 91 | int sysctl_tcp_moderate_rcvbuf __read_mostly = 1; |
92 | int sysctl_tcp_abc; | 92 | int sysctl_tcp_abc __read_mostly; |
93 | 93 | ||
94 | #define FLAG_DATA 0x01 /* Incoming frame contained data. */ | 94 | #define FLAG_DATA 0x01 /* Incoming frame contained data. */ |
95 | #define FLAG_WIN_UPDATE 0x02 /* Incoming ACK was a window update. */ | 95 | #define FLAG_WIN_UPDATE 0x02 /* Incoming ACK was a window update. */ |
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 2973dee0a489..23b46e36b147 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -78,8 +78,8 @@ | |||
78 | #include <linux/proc_fs.h> | 78 | #include <linux/proc_fs.h> |
79 | #include <linux/seq_file.h> | 79 | #include <linux/seq_file.h> |
80 | 80 | ||
81 | int sysctl_tcp_tw_reuse; | 81 | int sysctl_tcp_tw_reuse __read_mostly; |
82 | int sysctl_tcp_low_latency; | 82 | int sysctl_tcp_low_latency __read_mostly; |
83 | 83 | ||
84 | /* Check TCP sequence numbers in ICMP packets. */ | 84 | /* Check TCP sequence numbers in ICMP packets. */ |
85 | #define ICMP_MIN_LENGTH 8 | 85 | #define ICMP_MIN_LENGTH 8 |
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index 624e2b2c7f53..0163d9826907 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c | |||
@@ -34,8 +34,8 @@ | |||
34 | #define SYNC_INIT 1 | 34 | #define SYNC_INIT 1 |
35 | #endif | 35 | #endif |
36 | 36 | ||
37 | int sysctl_tcp_syncookies = SYNC_INIT; | 37 | int sysctl_tcp_syncookies __read_mostly = SYNC_INIT; |
38 | int sysctl_tcp_abort_on_overflow; | 38 | int sysctl_tcp_abort_on_overflow __read_mostly; |
39 | 39 | ||
40 | struct inet_timewait_death_row tcp_death_row = { | 40 | struct inet_timewait_death_row tcp_death_row = { |
41 | .sysctl_max_tw_buckets = NR_FILE * 2, | 41 | .sysctl_max_tw_buckets = NR_FILE * 2, |
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 9252a50c4b49..061edfae0c29 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
@@ -43,24 +43,24 @@ | |||
43 | #include <linux/smp_lock.h> | 43 | #include <linux/smp_lock.h> |
44 | 44 | ||
45 | /* People can turn this off for buggy TCP's found in printers etc. */ | 45 | /* People can turn this off for buggy TCP's found in printers etc. */ |
46 | int sysctl_tcp_retrans_collapse = 1; | 46 | int sysctl_tcp_retrans_collapse __read_mostly = 1; |
47 | 47 | ||
48 | /* People can turn this on to work with those rare, broken TCPs that | 48 | /* People can turn this on to work with those rare, broken TCPs that |
49 | * interpret the window field as a signed quantity. | 49 | * interpret the window field as a signed quantity. |
50 | */ | 50 | */ |
51 | int sysctl_tcp_workaround_signed_windows = 0; | 51 | int sysctl_tcp_workaround_signed_windows __read_mostly = 0; |
52 | 52 | ||
53 | /* This limits the percentage of the congestion window which we | 53 | /* This limits the percentage of the congestion window which we |
54 | * will allow a single TSO frame to consume. Building TSO frames | 54 | * will allow a single TSO frame to consume. Building TSO frames |
55 | * which are too large can cause TCP streams to be bursty. | 55 | * which are too large can cause TCP streams to be bursty. |
56 | */ | 56 | */ |
57 | int sysctl_tcp_tso_win_divisor = 3; | 57 | int sysctl_tcp_tso_win_divisor __read_mostly = 3; |
58 | 58 | ||
59 | int sysctl_tcp_mtu_probing = 0; | 59 | int sysctl_tcp_mtu_probing __read_mostly = 0; |
60 | int sysctl_tcp_base_mss = 512; | 60 | int sysctl_tcp_base_mss __read_mostly = 512; |
61 | 61 | ||
62 | /* By default, RFC2861 behavior. */ | 62 | /* By default, RFC2861 behavior. */ |
63 | int sysctl_tcp_slow_start_after_idle = 1; | 63 | int sysctl_tcp_slow_start_after_idle __read_mostly = 1; |
64 | 64 | ||
65 | static void update_send_head(struct sock *sk, struct tcp_sock *tp, | 65 | static void update_send_head(struct sock *sk, struct tcp_sock *tp, |
66 | struct sk_buff *skb) | 66 | struct sk_buff *skb) |
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index 7c1bde3cd6cb..fb09ade5897b 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c | |||
@@ -23,14 +23,14 @@ | |||
23 | #include <linux/module.h> | 23 | #include <linux/module.h> |
24 | #include <net/tcp.h> | 24 | #include <net/tcp.h> |
25 | 25 | ||
26 | int sysctl_tcp_syn_retries = TCP_SYN_RETRIES; | 26 | int sysctl_tcp_syn_retries __read_mostly = TCP_SYN_RETRIES; |
27 | int sysctl_tcp_synack_retries = TCP_SYNACK_RETRIES; | 27 | int sysctl_tcp_synack_retries __read_mostly = TCP_SYNACK_RETRIES; |
28 | int sysctl_tcp_keepalive_time = TCP_KEEPALIVE_TIME; | 28 | int sysctl_tcp_keepalive_time __read_mostly = TCP_KEEPALIVE_TIME; |
29 | int sysctl_tcp_keepalive_probes = TCP_KEEPALIVE_PROBES; | 29 | int sysctl_tcp_keepalive_probes __read_mostly = TCP_KEEPALIVE_PROBES; |
30 | int sysctl_tcp_keepalive_intvl = TCP_KEEPALIVE_INTVL; | 30 | int sysctl_tcp_keepalive_intvl __read_mostly = TCP_KEEPALIVE_INTVL; |
31 | int sysctl_tcp_retries1 = TCP_RETR1; | 31 | int sysctl_tcp_retries1 __read_mostly = TCP_RETR1; |
32 | int sysctl_tcp_retries2 = TCP_RETR2; | 32 | int sysctl_tcp_retries2 __read_mostly = TCP_RETR2; |
33 | int sysctl_tcp_orphan_retries; | 33 | int sysctl_tcp_orphan_retries __read_mostly; |
34 | 34 | ||
35 | static void tcp_write_timer(unsigned long); | 35 | static void tcp_write_timer(unsigned long); |
36 | static void tcp_delack_timer(unsigned long); | 36 | static void tcp_delack_timer(unsigned long); |
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 4af741ef8d6b..f1ede9004887 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -146,7 +146,7 @@ static int ipv6_chk_same_addr(const struct in6_addr *addr, struct net_device *de | |||
146 | 146 | ||
147 | static ATOMIC_NOTIFIER_HEAD(inet6addr_chain); | 147 | static ATOMIC_NOTIFIER_HEAD(inet6addr_chain); |
148 | 148 | ||
149 | struct ipv6_devconf ipv6_devconf = { | 149 | struct ipv6_devconf ipv6_devconf __read_mostly = { |
150 | .forwarding = 0, | 150 | .forwarding = 0, |
151 | .hop_limit = IPV6_DEFAULT_HOPLIMIT, | 151 | .hop_limit = IPV6_DEFAULT_HOPLIMIT, |
152 | .mtu6 = IPV6_MIN_MTU, | 152 | .mtu6 = IPV6_MIN_MTU, |
@@ -177,7 +177,7 @@ struct ipv6_devconf ipv6_devconf = { | |||
177 | #endif | 177 | #endif |
178 | }; | 178 | }; |
179 | 179 | ||
180 | static struct ipv6_devconf ipv6_devconf_dflt = { | 180 | static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = { |
181 | .forwarding = 0, | 181 | .forwarding = 0, |
182 | .hop_limit = IPV6_DEFAULT_HOPLIMIT, | 182 | .hop_limit = IPV6_DEFAULT_HOPLIMIT, |
183 | .mtu6 = IPV6_MIN_MTU, | 183 | .mtu6 = IPV6_MIN_MTU, |
@@ -3665,7 +3665,7 @@ static struct addrconf_sysctl_table | |||
3665 | ctl_table addrconf_conf_dir[2]; | 3665 | ctl_table addrconf_conf_dir[2]; |
3666 | ctl_table addrconf_proto_dir[2]; | 3666 | ctl_table addrconf_proto_dir[2]; |
3667 | ctl_table addrconf_root_dir[2]; | 3667 | ctl_table addrconf_root_dir[2]; |
3668 | } addrconf_sysctl = { | 3668 | } addrconf_sysctl __read_mostly = { |
3669 | .sysctl_header = NULL, | 3669 | .sysctl_header = NULL, |
3670 | .addrconf_vars = { | 3670 | .addrconf_vars = { |
3671 | { | 3671 | { |
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c index 82a1b1a328db..2ff600cfe3a4 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c | |||
@@ -67,7 +67,7 @@ MODULE_AUTHOR("Cast of dozens"); | |||
67 | MODULE_DESCRIPTION("IPv6 protocol stack for Linux"); | 67 | MODULE_DESCRIPTION("IPv6 protocol stack for Linux"); |
68 | MODULE_LICENSE("GPL"); | 68 | MODULE_LICENSE("GPL"); |
69 | 69 | ||
70 | int sysctl_ipv6_bindv6only; | 70 | int sysctl_ipv6_bindv6only __read_mostly; |
71 | 71 | ||
72 | /* The inetsw table contains everything that inet_create needs to | 72 | /* The inetsw table contains everything that inet_create needs to |
73 | * build a new socket. | 73 | * build a new socket. |
diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c index 103055107674..e3a8e27af950 100644 --- a/net/ipv6/icmp.c +++ b/net/ipv6/icmp.c | |||
@@ -151,7 +151,7 @@ static int is_ineligible(struct sk_buff *skb) | |||
151 | return 0; | 151 | return 0; |
152 | } | 152 | } |
153 | 153 | ||
154 | static int sysctl_icmpv6_time = 1*HZ; | 154 | static int sysctl_icmpv6_time __read_mostly = 1*HZ; |
155 | 155 | ||
156 | /* | 156 | /* |
157 | * Check the ICMP output rate limit | 157 | * Check the ICMP output rate limit |
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index 639eb20c9f1f..3b114e3fa2f8 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c | |||
@@ -171,7 +171,7 @@ static int ip6_mc_leave_src(struct sock *sk, struct ipv6_mc_socklist *iml, | |||
171 | 171 | ||
172 | #define IPV6_MLD_MAX_MSF 64 | 172 | #define IPV6_MLD_MAX_MSF 64 |
173 | 173 | ||
174 | int sysctl_mld_max_msf = IPV6_MLD_MAX_MSF; | 174 | int sysctl_mld_max_msf __read_mostly = IPV6_MLD_MAX_MSF; |
175 | 175 | ||
176 | /* | 176 | /* |
177 | * socket join on multicast group | 177 | * socket join on multicast group |
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index a8623d2b0879..f39bbedd1327 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c | |||
@@ -53,10 +53,10 @@ | |||
53 | #include <net/ndisc.h> | 53 | #include <net/ndisc.h> |
54 | #include <net/addrconf.h> | 54 | #include <net/addrconf.h> |
55 | 55 | ||
56 | int sysctl_ip6frag_high_thresh = 256*1024; | 56 | int sysctl_ip6frag_high_thresh __read_mostly = 256*1024; |
57 | int sysctl_ip6frag_low_thresh = 192*1024; | 57 | int sysctl_ip6frag_low_thresh __read_mostly = 192*1024; |
58 | 58 | ||
59 | int sysctl_ip6frag_time = IPV6_FRAG_TIMEOUT; | 59 | int sysctl_ip6frag_time __read_mostly = IPV6_FRAG_TIMEOUT; |
60 | 60 | ||
61 | struct ip6frag_skb_cb | 61 | struct ip6frag_skb_cb |
62 | { | 62 | { |
@@ -152,7 +152,7 @@ static unsigned int ip6qhashfn(u32 id, struct in6_addr *saddr, | |||
152 | } | 152 | } |
153 | 153 | ||
154 | static struct timer_list ip6_frag_secret_timer; | 154 | static struct timer_list ip6_frag_secret_timer; |
155 | int sysctl_ip6frag_secret_interval = 10 * 60 * HZ; | 155 | int sysctl_ip6frag_secret_interval __read_mostly = 10 * 60 * HZ; |
156 | 156 | ||
157 | static void ip6_frag_secret_rebuild(unsigned long dummy) | 157 | static void ip6_frag_secret_rebuild(unsigned long dummy) |
158 | { | 158 | { |