change netfilter tunables to __read_mostly
Subsystems (3)
PATCH 1/1 change netfilter tunables to __read_mostly
Change some netfilter tunables to __read_mostly. Also fixed some incorrect file reference comments while I was in there.
(this will be my last __read_mostly patch unless someone points out something else that needs it)
net/netfilter/nf_conntrack_core.c +3 -3
@@ -77,12 +77,12 @@ LIST_HEAD(nf_conntrack_expect_list);struct nf_conntrack_protocol **nf_ct_protos[PF_MAX ];struct nf_conntrack_l3proto *nf_ct_l3protos[PF_MAX ];static LIST_HEAD (helpers); -unsigned int nf_conntrack_htable_size =0 ; -int nf_conntrack_max; +unsigned int nf_conntrack_htable_size__read_mostly =0 ; +int nf_conntrack_max__read_mostly ;struct list_head *nf_conntrack_hash;static kmem_cache_t *nf_conntrack_expect_cachep;struct nf_conn nf_conntrack_untracked; -unsigned int nf_ct_log_invalid; +unsigned int nf_ct_log_invalid__read_mostly ;static LIST_HEAD (unconfirmed);static int nf_conntrack_vmalloc;
net/netfilter/nf_conntrack_proto_generic.c +1 -1
@@ -17,7 +17,7 @@#include <linux/netfilter.h> #include <net/netfilter/nf_conntrack_protocol.h> -unsigned int nf_ct_generic_timeout =600 *HZ ; +unsigned int nf_ct_generic_timeout__read_mostly =600 *HZ ; static int generic_pkt_to_tuple(const struct sk_buff *skb, unsigned int dataoff,
net/netfilter/nf_conntrack_proto_sctp.c +7 -7
@@ -64,13 +64,13 @@ static const char *sctp_conntrack_names[#define HOURS * 60 MINS#define DAYS * 24 HOURS -static unsigned int nf_ct_sctp_timeout_closed = 10 SECS; -static unsigned int nf_ct_sctp_timeout_cookie_wait = 3 SECS; -static unsigned int nf_ct_sctp_timeout_cookie_echoed = 3 SECS; -static unsigned int nf_ct_sctp_timeout_established = 5 DAYS; -static unsigned int nf_ct_sctp_timeout_shutdown_sent = 300 SECS / 1000; -static unsigned int nf_ct_sctp_timeout_shutdown_recd = 300 SECS / 1000; -static unsigned int nf_ct_sctp_timeout_shutdown_ack_sent = 3 SECS; +static unsigned int nf_ct_sctp_timeout_closed __read_mostly = 10 SECS; +static unsigned int nf_ct_sctp_timeout_cookie_wait __read_mostly = 3 SECS; +static unsigned int nf_ct_sctp_timeout_cookie_echoed __read_mostly = 3 SECS; +static unsigned int nf_ct_sctp_timeout_established __read_mostly = 5 DAYS; +static unsigned int nf_ct_sctp_timeout_shutdown_sent __read_mostly = 300 SECS / 1000; +static unsigned int nf_ct_sctp_timeout_shutdown_recd __read_mostly = 300 SECS / 1000; +static unsigned int nf_ct_sctp_timeout_shutdown_ack_sent __read_mostly = 3 SECS;static unsigned int * sctp_timeouts[] = {NULL ,/* SCTP_CONNTRACK_NONE */
net/netfilter/nf_conntrack_proto_tcp.c +12 -12
@@ -57,19 +57,19 @@ static DEFINE_RWLOCK(tcp_lock);/* "Be conservative in what you do, be liberal in what you accept from others." If it's non-zero, we mark only out of window RST segments as INVALID. */ -int nf_ct_tcp_be_liberal =0 ; +int nf_ct_tcp_be_liberal__read_mostly =0 ;/* When connection is picked up from the middle, how many packets are required to pass in each direction when we assume we are in sync - if any side uses window scaling, we lost the game. If it is set to zero, we disable picking up already established connections. */ -int nf_ct_tcp_loose =3 ; +int nf_ct_tcp_loose__read_mostly =3 ;/* Max number of the retransmitted packets without receiving an (acceptable) ACK from the destination. If this number is reached, a shorter timer will be started. */ -int nf_ct_tcp_max_retrans =3 ; +int nf_ct_tcp_max_retrans__read_mostly =3 ;/* FIXME: Examine ipfilter's timeouts and conntrack transitions more closely. They're more complex. --RR */
@@ -92,19 +92,19 @@ static const char *tcp_conntrack_names[]#define HOURS * 60 MINS#define DAYS * 24 HOURS -unsigned int nf_ct_tcp_timeout_syn_sent = 2 MINS; -unsigned int nf_ct_tcp_timeout_syn_recv = 60 SECS; -unsigned int nf_ct_tcp_timeout_established = 5 DAYS; -unsigned int nf_ct_tcp_timeout_fin_wait = 2 MINS; -unsigned int nf_ct_tcp_timeout_close_wait = 60 SECS; -unsigned int nf_ct_tcp_timeout_last_ack = 30 SECS; -unsigned int nf_ct_tcp_timeout_time_wait = 2 MINS; -unsigned int nf_ct_tcp_timeout_close = 10 SECS; +unsigned int nf_ct_tcp_timeout_syn_sent __read_mostly = 2 MINS; +unsigned int nf_ct_tcp_timeout_syn_recv __read_mostly = 60 SECS; +unsigned int nf_ct_tcp_timeout_established __read_mostly = 5 DAYS; +unsigned int nf_ct_tcp_timeout_fin_wait __read_mostly = 2 MINS; +unsigned int nf_ct_tcp_timeout_close_wait __read_mostly = 60 SECS; +unsigned int nf_ct_tcp_timeout_last_ack __read_mostly = 30 SECS; +unsigned int nf_ct_tcp_timeout_time_wait __read_mostly = 2 MINS; +unsigned int nf_ct_tcp_timeout_close __read_mostly = 10 SECS;/* RFC1122 says the R2 limit should be at least 100 seconds. Linux uses 15 packets as limit, which corresponds to ~13-30min depending on RTO. */ -unsigned int nf_ct_tcp_timeout_max_retrans = 5 MINS; +unsigned int nf_ct_tcp_timeout_max_retrans __read_mostly = 5 MINS;static unsigned int * tcp_timeouts[] = {NULL ,/* TCP_CONNTRACK_NONE */
net/netfilter/nf_conntrack_proto_udp.c +2 -2
@@ -27,8 +27,8 @@#include <linux/netfilter_ipv6.h> #include <net/netfilter/nf_conntrack_protocol.h> -unsigned int nf_ct_udp_timeout =30 *HZ ; -unsigned int nf_ct_udp_timeout_stream =180 *HZ ; +unsigned int nf_ct_udp_timeout__read_mostly =30 *HZ ; +unsigned int nf_ct_udp_timeout_stream__read_mostly =180 *HZ ; static int udp_pkt_to_tuple(const struct sk_buff *skb, unsigned int dataoff,
net/netfilter/nf_conntrack_standalone.c +1 -1
@@ -428,7 +428,7 @@ static struct file_operations ct_cpu_seq/* Sysctl support */ -int nf_conntrack_checksum =1 ; +int nf_conntrack_checksum__read_mostly =1 ;#ifdef CONFIG_SYSCTL
net/ipv4/netfilter/ip_conntrack_core.c +3 -3
@@ -66,13 +66,13 @@ void (*ip_conntrack_destroyed)(struct ipLIST_HEAD (ip_conntrack_expect_list);struct ip_conntrack_protocol *ip_ct_protos[MAX_IP_CT_PROTO ];static LIST_HEAD (helpers); -unsigned int ip_conntrack_htable_size =0 ; -int ip_conntrack_max; +unsigned int ip_conntrack_htable_size__read_mostly =0 ; +int ip_conntrack_max__read_mostly ;struct list_head *ip_conntrack_hash;static kmem_cache_t *ip_conntrack_cachep__read_mostly ;static kmem_cache_t *ip_conntrack_expect_cachep__read_mostly ;struct ip_conntrack ip_conntrack_untracked; -unsigned int ip_ct_log_invalid; +unsigned int ip_ct_log_invalid__read_mostly ;static LIST_HEAD (unconfirmed);static int ip_conntrack_vmalloc;
net/ipv4/netfilter/ip_conntrack_proto_generic.c +1 -1
@@ -12,7 +12,7 @@#include <linux/netfilter.h> #include <linux/netfilter_ipv4/ip_conntrack_protocol.h> -unsigned int ip_ct_generic_timeout =600 *HZ ; +unsigned int ip_ct_generic_timeout__read_mostly =600 *HZ ; static int generic_pkt_to_tuple(const struct sk_buff *skb, unsigned int dataoff,
net/ipv4/netfilter/ip_conntrack_proto_icmp.c +1 -1
@@ -21,7 +21,7 @@#include <linux/netfilter_ipv4/ip_conntrack_core.h> #include <linux/netfilter_ipv4/ip_conntrack_protocol.h> -unsigned int ip_ct_icmp_timeout =30 *HZ ; +unsigned int ip_ct_icmp_timeout__read_mostly =30 *HZ ;#if 0 #define DEBUGP printk
net/ipv4/netfilter/ip_conntrack_proto_sctp.c +7 -7
@@ -58,13 +58,13 @@ static const char *sctp_conntrack_names[#define HOURS * 60 MINS#define DAYS * 24 HOURS -static unsigned int ip_ct_sctp_timeout_closed = 10 SECS; -static unsigned int ip_ct_sctp_timeout_cookie_wait = 3 SECS; -static unsigned int ip_ct_sctp_timeout_cookie_echoed = 3 SECS; -static unsigned int ip_ct_sctp_timeout_established = 5 DAYS; -static unsigned int ip_ct_sctp_timeout_shutdown_sent = 300 SECS / 1000; -static unsigned int ip_ct_sctp_timeout_shutdown_recd = 300 SECS / 1000; -static unsigned int ip_ct_sctp_timeout_shutdown_ack_sent = 3 SECS; +static unsigned int ip_ct_sctp_timeout_closed __read_mostly = 10 SECS; +static unsigned int ip_ct_sctp_timeout_cookie_wait __read_mostly = 3 SECS; +static unsigned int ip_ct_sctp_timeout_cookie_echoed __read_mostly = 3 SECS; +static unsigned int ip_ct_sctp_timeout_established __read_mostly = 5 DAYS; +static unsigned int ip_ct_sctp_timeout_shutdown_sent __read_mostly = 300 SECS / 1000; +static unsigned int ip_ct_sctp_timeout_shutdown_recd __read_mostly = 300 SECS / 1000; +static unsigned int ip_ct_sctp_timeout_shutdown_ack_sent __read_mostly = 3 SECS;static const unsigned int * sctp_timeouts[] = {NULL ,/* SCTP_CONNTRACK_NONE */
net/ipv4/netfilter/ip_conntrack_proto_tcp.c +12 -12
@@ -48,19 +48,19 @@ static DEFINE_RWLOCK(tcp_lock);/* "Be conservative in what you do, be liberal in what you accept from others." If it's non-zero, we mark only out of window RST segments as INVALID. */ -int ip_ct_tcp_be_liberal =0 ; +int ip_ct_tcp_be_liberal__read_mostly =0 ;/* When connection is picked up from the middle, how many packets are required to pass in each direction when we assume we are in sync - if any side uses window scaling, we lost the game. If it is set to zero, we disable picking up already established connections. */ -int ip_ct_tcp_loose =3 ; +int ip_ct_tcp_loose__read_mostly =3 ;/* Max number of the retransmitted packets without receiving an (acceptable) ACK from the destination. If this number is reached, a shorter timer will be started. */ -int ip_ct_tcp_max_retrans =3 ; +int ip_ct_tcp_max_retrans__read_mostly =3 ;/* FIXME: Examine ipfilter's timeouts and conntrack transitions more closely. They're more complex. --RR */
@@ -83,19 +83,19 @@ static const char *tcp_conntrack_names[]#define HOURS * 60 MINS#define DAYS * 24 HOURS -unsigned int ip_ct_tcp_timeout_syn_sent = 2 MINS; -unsigned int ip_ct_tcp_timeout_syn_recv = 60 SECS; -unsigned int ip_ct_tcp_timeout_established = 5 DAYS; -unsigned int ip_ct_tcp_timeout_fin_wait = 2 MINS; -unsigned int ip_ct_tcp_timeout_close_wait = 60 SECS; -unsigned int ip_ct_tcp_timeout_last_ack = 30 SECS; -unsigned int ip_ct_tcp_timeout_time_wait = 2 MINS; -unsigned int ip_ct_tcp_timeout_close = 10 SECS; +unsigned int ip_ct_tcp_timeout_syn_sent __read_mostly = 2 MINS; +unsigned int ip_ct_tcp_timeout_syn_recv __read_mostly = 60 SECS; +unsigned int ip_ct_tcp_timeout_established __read_mostly = 5 DAYS; +unsigned int ip_ct_tcp_timeout_fin_wait __read_mostly = 2 MINS; +unsigned int ip_ct_tcp_timeout_close_wait __read_mostly = 60 SECS; +unsigned int ip_ct_tcp_timeout_last_ack __read_mostly = 30 SECS; +unsigned int ip_ct_tcp_timeout_time_wait __read_mostly = 2 MINS; +unsigned int ip_ct_tcp_timeout_close __read_mostly = 10 SECS;/* RFC1122 says the R2 limit should be at least 100 seconds. Linux uses 15 packets as limit, which corresponds to ~13-30min depending on RTO. */ -unsigned int ip_ct_tcp_timeout_max_retrans = 5 MINS; +unsigned int ip_ct_tcp_timeout_max_retrans __read_mostly = 5 MINS;static const unsigned int * tcp_timeouts[] = {NULL ,/* TCP_CONNTRACK_NONE */
net/ipv4/netfilter/ip_conntrack_proto_udp.c +2 -2
@@ -18,8 +18,8 @@#include <linux/netfilter_ipv4.h> #include <linux/netfilter_ipv4/ip_conntrack_protocol.h> -unsigned int ip_ct_udp_timeout =30 *HZ ; -unsigned int ip_ct_udp_timeout_stream =180 *HZ ; +unsigned int ip_ct_udp_timeout__read_mostly =30 *HZ ; +unsigned int ip_ct_udp_timeout_stream__read_mostly =180 *HZ ; static int udp_pkt_to_tuple(const struct sk_buff *skb, unsigned int dataoff,
net/ipv4/netfilter/ip_conntrack_standalone.c +2 -2
@@ -534,7 +534,7 @@ static struct nf_hook_ops ip_conntrack_o/* Sysctl support */ -int ip_conntrack_checksum =1 ; +int ip_conntrack_checksum__read_mostly =1 ;#ifdef CONFIG_SYSCTL
@@ -563,7 +563,7 @@ extern unsigned int ip_ct_udp_timeout_st/* From ip_conntrack_proto_icmp.c */ extern unsigned int ip_ct_icmp_timeout; -/* From ip_conntrack_proto_icmp.c */ +/* From ip_conntrack_proto_generic.c */ extern unsigned int ip_ct_generic_timeout;/* Log invalid packets of a given protocol */
net/ipv4/netfilter/ip_queue.c +1 -1
@@ -53,7 +53,7 @@ struct ipq_queue_entry {typedef int (*ipq_cmpfn )(struct ipq_queue_entry *,unsigned long );static unsigned char copy_mode =IPQ_COPY_NONE ; -static unsigned int queue_maxlen =IPQ_QMAX_DEFAULT ; +static unsigned int queue_maxlen__read_mostly =IPQ_QMAX_DEFAULT ;static DEFINE_RWLOCK (queue_lock);static int peer_pid;static unsigned int copy_range;
net/ipv4/netfilter/nf_conntrack_proto_icmp.c +1 -1
@@ -25,7 +25,7 @@#include <net/netfilter/nf_conntrack_protocol.h> #include <net/netfilter/nf_conntrack_core.h> -unsigned long nf_ct_icmp_timeout =30 *HZ ; +unsigned long nf_ct_icmp_timeout__read_mostly =30 *HZ ;#if 0 #define DEBUGP printk
net/ipv6/netfilter/ip6_queue.c +1 -1
@@ -57,7 +57,7 @@ struct ipq_queue_entry {typedef int (*ipq_cmpfn )(struct ipq_queue_entry *,unsigned long );static unsigned char copy_mode =IPQ_COPY_NONE ; -static unsigned int queue_maxlen =IPQ_QMAX_DEFAULT ; +static unsigned int queue_maxlen__read_mostly =IPQ_QMAX_DEFAULT ;static DEFINE_RWLOCK (queue_lock);static int peer_pid;static unsigned int copy_range;
net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c +1 -1
@@ -335,7 +335,7 @@ static struct nf_hook_ops ipv6_conntrack/* From nf_conntrack_proto_icmpv6.c */ extern unsigned int nf_ct_icmpv6_timeout; -/* From nf_conntrack_frag6.c */ +/* From nf_conntrack_reasm.c */ extern unsigned int nf_ct_frag6_timeout;extern unsigned int nf_ct_frag6_low_thresh;extern unsigned int nf_ct_frag6_high_thresh;
net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c +1 -1
@@ -33,7 +33,7 @@#include <net/netfilter/nf_conntrack_core.h> #include <net/netfilter/ipv6/nf_conntrack_icmpv6.h> -unsigned long nf_ct_icmpv6_timeout =30 *HZ ; +unsigned long nf_ct_icmpv6_timeout__read_mostly =30 *HZ ;#if 0 #define DEBUGP printk
net/ipv6/netfilter/nf_conntrack_reasm.c +3 -3
@@ -54,9 +54,9 @@#define NF_CT_FRAG6_LOW_THRESH 196608/* == 192*1024 */ #define NF_CT_FRAG6_TIMEOUT IPV6_FRAG_TIMEOUT -unsigned int nf_ct_frag6_high_thresh =256 *1024 ; -unsigned int nf_ct_frag6_low_thresh =192 *1024 ; -unsigned long nf_ct_frag6_timeout =IPV6_FRAG_TIMEOUT ; +unsigned int nf_ct_frag6_high_thresh__read_mostly =256 *1024 ; +unsigned int nf_ct_frag6_low_thresh__read_mostly =192 *1024 ; +unsigned long nf_ct_frag6_timeout__read_mostly =IPV6_FRAG_TIMEOUT ;struct nf_ct_frag6_skb_cb {
Quoted 2 lines · Brian Haley
Change some netfilter tunables to
__read_mostly. Also fixed some incorrect file reference comments while I was in there.
Please send these kind of patches for netfilter to me so I can make sure they don't clash with other pending patches.
Quoted 2 lines
(this will be my last
__read_mostlypatch unless someone points out something else that needs it)
This seems to be a bit random, there are quite a few more candidates for __read_mostly right next to the ones you marked.
net/netfilter/nf_conntrack_core.c LIST_HEAD(nf_conntrack_expect_list); · line 77
Quoted 6 lines
net/netfilter/nf_conntrack_core.c +0
-0@@ -77,12 +77,12 @@ LIST_HEAD(nf_conntrack_expect_list);struct nf_conntrack_protocol **nf_ct_protos[PF_MAX ];
Like this one
net/netfilter/nf_conntrack_core.c LIST_HEAD(nf_conntrack_expect_list); · line 78
Quoted 1 line
net/netfilter/nf_conntrack_core.c +0
-0struct nf_conntrack_l3proto *nf_ct_l3protos[PF_MAX ];
and this one
net/netfilter/nf_conntrack_core.c LIST_HEAD(nf_conntrack_expect_list); · line 79
Quoted 1 line
net/netfilter/nf_conntrack_core.c +0
-0static LIST_HEAD (helpers);
and this one
net/netfilter/nf_conntrack_core.c LIST_HEAD(nf_conntrack_expect_list); · line 82
Quoted 5 lines
net/netfilter/nf_conntrack_core.c +2
-2-unsigned int nf_conntrack_htable_size =0 ; -int nf_conntrack_max; +unsigned int nf_conntrack_htable_size__read_mostly =0 ; +int nf_conntrack_max__read_mostly ;struct list_head *nf_conntrack_hash;
and this one
net/netfilter/nf_conntrack_core.c LIST_HEAD(nf_conntrack_expect_list); · line 83
Quoted 1 line
net/netfilter/nf_conntrack_core.c +0
-0static kmem_cache_t *nf_conntrack_expect_cachep;
and this one
net/netfilter/nf_conntrack_core.c LIST_HEAD(nf_conntrack_expect_list);
Quoted 6 lines
net/netfilter/nf_conntrack_core.c +1
-1struct nf_conn nf_conntrack_untracked; -unsigned int nf_ct_log_invalid; +unsigned int nf_ct_log_invalid__read_mostly ;static LIST_HEAD (unconfirmed);static int nf_conntrack_vmalloc;
and this one
Same ones in ip_conntrack.
Quoted 6 lines
/* Log invalid packets of a given protocol */
net/ipv4/netfilter/ip_queue.c +0
-0
net/ipv4/netfilter/ip_queue.c struct ipq_queue_entry { · line 59
Quoted 8 lines
net/ipv4/netfilter/ip_queue.c +1
-1@@ -53,7 +53,7 @@ struct ipq_queue_entry {typedef int (*ipq_cmpfn )(struct ipq_queue_entry *,unsigned long );static unsigned char copy_mode =IPQ_COPY_NONE ; -static unsigned int queue_maxlen =IPQ_QMAX_DEFAULT ; +static unsigned int queue_maxlen__read_mostly =IPQ_QMAX_DEFAULT ;static DEFINE_RWLOCK (queue_lock);static int peer_pid;static unsigned int copy_range;
Basically all these variables besides the lock are candidates.
Quoted 10 lines · Patrick McHardy
Quoted 2 lines · Brian Haley
Change some netfilter tunables to
__read_mostly. Also fixed some incorrect file reference comments while I was in there.Please send these kind of patches for netfilter to me so I can make sure they don't clash with other pending patches.
Quoted 6 lines
Quoted 2 lines
(this will be my last
__read_mostlypatch unless someone points out something else that needs it)This seems to be a bit random, there are quite a few more candidates for
__read_mostlyright next to the ones you marked.
Ah sorry, I didn't really get why you chose these :)
The patch doesn't clash with anything in my queue, so ACK from me.
Quoted 13 lines · Patrick McHardy
Quoted 12 lines · Patrick McHardy
Quoted 2 lines · Brian Haley
Change some netfilter tunables to
__read_mostly. Also fixed some incorrect file reference comments while I was in there.Please send these kind of patches for netfilter to me so I can make sure they don't clash with other pending patches.
Quoted 2 lines
(this will be my last
__read_mostlypatch unless someone points out something else that needs it)
Quoted 7 lines
Quoted 2 lines
This seems to be a bit random, there are quite a few more candidates for
__read_mostlyright next to the ones you marked.Ah sorry, I didn't really get why you chose these :)
The patch doesn't clash with anything in my queue, so ACK from me.
Sorry, next time I'll send them to you, or [email protected]? I'll cook-up another patch for the others you mentioned and send it out.
-Brian
Quoted 2 lines · Brian Haley
Sorry, next time I'll send them to you, or
[email protected]?
netfilter-devel is better, that way other people working on netfilter get a chance to see it as well. I think only a handful of people on netfilter-devel also follow netdev.
Quoted 2 lines
I'll cook-up another patch for the
others you mentioned and send it out.
Thanks.
Signature · 1 line
VGER BF report: H 1.86495e-12
From: Brian Haley <[email protected]>
Date: Fri, 01 Sep 2006 11:32:06 -0400
Quoted 7 lines
Change some netfilter tunables to
__read_mostly. Also fixed some incorrect file reference comments while I was in there.(this will be my last
__read_mostlypatch unless someone points out something else that needs it)Signed-off-by Brian Haley <[email protected]>
Applied, thanks.