83723d6071
Using "iptables -L" with a lot of rules have a too big BH latency. Jesper mentioned ~6 ms and worried of frame drops. Switch to a per_cpu seqlock scheme, so that taking a snapshot of counters doesnt need to block BH (for this cpu, but also other cpus). This adds two increments on seqlock sequence per ipt_do_table() call, its a reasonable cost for allowing "iptables -L" not block BH processing. Reported-by: Jesper Dangaard Brouer <hawk@comx.dk> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> CC: Patrick McHardy <kaber@trash.net> Acked-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: Jesper Dangaard Brouer <hawk@comx.dk> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> |
||
---|---|---|
.. | ||
Kbuild | ||
nf_conntrack_amanda.h | ||
nf_conntrack_common.h | ||
nf_conntrack_dccp.h | ||
nf_conntrack_ftp.h | ||
nf_conntrack_h323.h | ||
nf_conntrack_h323_asn1.h | ||
nf_conntrack_h323_types.h | ||
nf_conntrack_irc.h | ||
nf_conntrack_pptp.h | ||
nf_conntrack_proto_gre.h | ||
nf_conntrack_sane.h | ||
nf_conntrack_sctp.h | ||
nf_conntrack_sip.h | ||
nf_conntrack_tcp.h | ||
nf_conntrack_tftp.h | ||
nf_conntrack_tuple_common.h | ||
nfnetlink.h | ||
nfnetlink_compat.h | ||
nfnetlink_conntrack.h | ||
nfnetlink_log.h | ||
nfnetlink_queue.h | ||
x_tables.h | ||
xt_CHECKSUM.h | ||
xt_CLASSIFY.h | ||
xt_cluster.h | ||
xt_comment.h | ||
xt_connbytes.h | ||
xt_connlimit.h | ||
xt_connmark.h | ||
xt_CONNMARK.h | ||
xt_CONNSECMARK.h | ||
xt_conntrack.h | ||
xt_cpu.h | ||
xt_CT.h | ||
xt_dccp.h | ||
xt_DSCP.h | ||
xt_dscp.h | ||
xt_esp.h | ||
xt_hashlimit.h | ||
xt_helper.h | ||
xt_IDLETIMER.h | ||
xt_iprange.h | ||
xt_ipvs.h | ||
xt_LED.h | ||
xt_length.h | ||
xt_limit.h | ||
xt_mac.h | ||
xt_mark.h | ||
xt_MARK.h | ||
xt_multiport.h | ||
xt_NFLOG.h | ||
xt_NFQUEUE.h | ||
xt_osf.h | ||
xt_owner.h | ||
xt_physdev.h | ||
xt_pkttype.h | ||
xt_policy.h | ||
xt_quota.h | ||
xt_RATEEST.h | ||
xt_rateest.h | ||
xt_realm.h | ||
xt_recent.h | ||
xt_sctp.h | ||
xt_SECMARK.h | ||
xt_socket.h | ||
xt_state.h | ||
xt_statistic.h | ||
xt_string.h | ||
xt_TCPMSS.h | ||
xt_tcpmss.h | ||
xt_TCPOPTSTRIP.h | ||
xt_tcpudp.h | ||
xt_TEE.h | ||
xt_time.h | ||
xt_TPROXY.h | ||
xt_u32.h |