linux/net/ipv4
Eric Dumazet a8defca048 netfilter: ipt_LOG: add bufferisation to call printk() once
ipt_LOG & ip6t_LOG use lot of calls to printk() and use a lock in a hope
several cpus wont mix their output in syslog.

printk() being very expensive [1], its better to call it once, on a
prebuilt and complete line. Also, with mixed IPv4 and IPv6 trafic,
separate IPv4/IPv6 locks dont avoid garbage.

I used an allocation of a 1024 bytes structure, sort of seq_printf() but
with a fixed size limit.
Use a static buffer if dynamic allocation failed.

Emit a once time alert if buffer size happens to be too short.

[1]: printk() has various features like printk_delay()...

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
2010-10-04 20:56:05 +02:00
..
netfilter netfilter: ipt_LOG: add bufferisation to call printk() once 2010-10-04 20:56:05 +02:00
af_inet.c net: build_ehash_secret() and rt_bind_peer() cleanups 2010-08-20 00:50:16 -07:00
ah4.c
arp.c net: arp: code cleanup 2010-09-02 10:12:06 -07:00
cipso_ipv4.c
datagram.c udp: add rehash on connect() 2010-09-08 21:45:01 -07:00
devinet.c
esp4.c
fib_frontend.c ipv4: Fix reverse path filtering with multipath routing. 2010-09-07 13:57:24 -07:00
fib_hash.c
fib_lookup.h
fib_rules.c
fib_semantics.c
fib_trie.c fib: cleanups 2010-09-10 12:32:02 -07:00
gre.c PPTP: PPP over IPv4 (Point-to-Point Tunneling Protocol) 2010-08-21 23:05:39 -07:00
icmp.c net: simplify flags for tx timestamping 2010-08-19 00:08:30 -07:00
igmp.c net/ipv4: EXPORT_SYMBOL cleanups 2010-07-12 12:57:54 -07:00
inet_connection_sock.c net/ipv4: EXPORT_SYMBOL cleanups 2010-07-12 12:57:54 -07:00
inet_diag.c
inet_fragment.c net/ipv4: EXPORT_SYMBOL cleanups 2010-07-12 12:57:54 -07:00
inet_hashtables.c net/ipv4: EXPORT_SYMBOL cleanups 2010-07-12 12:57:54 -07:00
inet_lro.c
inet_timewait_sock.c
inetpeer.c
ip_forward.c
ip_fragment.c net: Rename skb_has_frags to skb_has_frag_list 2010-08-23 00:13:46 -07:00
ip_gre.c PPTP: PPP over IPv4 (Point-to-Point Tunneling Protocol) 2010-08-21 23:05:39 -07:00
ip_input.c net: use this_cpu_ptr() 2010-06-28 23:24:29 -07:00
ip_options.c
ip_output.c net: ip_append_data() optim 2010-08-24 14:45:09 -07:00
ip_sockglue.c
ipcomp.c
ipconfig.c
ipip.c net: struct xfrm_tunnel in read_mostly section 2010-08-30 13:50:45 -07:00
ipmr.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-07-20 18:25:24 -07:00
Kconfig Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-09 22:27:33 -07:00
Makefile PPTP: PPP over IPv4 (Point-to-Point Tunneling Protocol) 2010-08-21 23:05:39 -07:00
netfilter.c
proc.c snmp: 64bit ipstats_mib for all arches 2010-06-30 13:31:19 -07:00
protocol.c net: inet_add_protocol() can use cmpxchg() 2010-09-08 21:31:35 -07:00
raw.c net: simplify flags for tx timestamping 2010-08-19 00:08:30 -07:00
route.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-09 22:27:33 -07:00
syncookies.c syncookies: add support for ECN 2010-06-26 22:00:03 -07:00
sysctl_net_ipv4.c
tcp.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-09 22:27:33 -07:00
tcp_bic.c
tcp_cong.c net/ipv4: Eliminate kstrdup memory leak 2010-08-27 19:31:56 -07:00
tcp_cubic.c
tcp_diag.c
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c
tcp_input.c tcp/dccp: Consolidate common code for RFC 3390 conversion 2010-08-30 13:45:26 -07:00
tcp_ipv4.c gro: unexport tcp4_gro_receive and tcp4_gro_complete 2010-08-31 13:37:07 -07:00
tcp_lp.c
tcp_minisocks.c net/ipv4: EXPORT_SYMBOL cleanups 2010-07-12 12:57:54 -07:00
tcp_output.c tcp: update also tcp_output with regard to RFC 5681 2010-09-01 18:15:00 -07:00
tcp_probe.c
tcp_scalable.c
tcp_timer.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-09 22:27:33 -07:00
tcp_vegas.c
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tunnel4.c tunnels: missing rcu_assign_pointer() 2010-09-09 15:02:39 -07:00
udp.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-09 22:27:33 -07:00
udp_impl.h
udplite.c net/ipv4: EXPORT_SYMBOL cleanups 2010-07-12 12:57:54 -07:00
xfrm4_input.c net/ipv4: EXPORT_SYMBOL cleanups 2010-07-12 12:57:54 -07:00
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c
xfrm4_policy.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-07-07 15:59:38 -07:00
xfrm4_state.c
xfrm4_tunnel.c net: struct xfrm_tunnel in read_mostly section 2010-08-30 13:50:45 -07:00