linux/net/netfilter/ipvs
Julian Anastasov 55a3d4e15c ipvs: properly zero stats and rates
Currently, the new percpu counters are not zeroed and
the zero commands do not work as expected, we still show the old
sum of percpu values. OTOH, we can not reset the percpu counters
from user context without causing the incrementing to use old
and bogus values.

 	So, as Eric Dumazet suggested fix that by moving all overhead
to stats reading in user context. Do not introduce overhead in
timer context (estimator) and incrementing (packet handling in
softirqs).

 	The new ustats0 field holds the zero point for all
counter values, the rates always use 0 as base value as before.
When showing the values to user space just give the difference
between counters and the base values. The only drawback is that
percpu stats are not zeroed, they are accessible only from /proc
and are new interface, so it should not be a compatibility problem
as long as the sum stats are correct after zeroing.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
2011-03-15 09:36:52 +09:00
..
ip_vs_app.c IPVS: netns, final patch enabling network name space. 2011-01-13 10:30:29 +09:00
ip_vs_conn.c ipvs: use hlist instead of list 2011-02-22 15:45:39 +09:00
ip_vs_core.c ipvs: reorganize tot_stats 2011-03-15 09:36:52 +09:00
ip_vs_ctl.c ipvs: properly zero stats and rates 2011-03-15 09:36:52 +09:00
ip_vs_dh.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ip_vs_est.c ipvs: properly zero stats and rates 2011-03-15 09:36:52 +09:00
ip_vs_ftp.c IPVS: netns, final patch enabling network name space. 2011-01-13 10:30:29 +09:00
ip_vs_lblc.c ipvs: unify the formula to estimate the overhead of processing connections 2011-02-25 11:35:41 +09:00
ip_vs_lblcr.c ipvs: unify the formula to estimate the overhead of processing connections 2011-02-25 11:35:41 +09:00
ip_vs_lc.c ipvs: unify the formula to estimate the overhead of processing connections 2011-02-25 11:35:41 +09:00
ip_vs_nfct.c IPVS: netns, connection hash got net as param. 2011-01-13 10:30:28 +09:00
ip_vs_nq.c ipvs: make "no destination available" message more informative 2011-02-16 14:53:33 +09:00
ip_vs_pe_sip.c netfilter:ipvs: use kmemdup 2011-03-15 09:36:49 +09:00
ip_vs_pe.c IPVS: Backup, Adding Version 1 receive capability 2010-11-25 10:42:59 +09:00
ip_vs_proto_ah_esp.c IPVS: netns, connection hash got net as param. 2011-01-13 10:30:28 +09:00
ip_vs_proto_sctp.c IPVS: Use correct lock in SCTP module 2011-02-03 20:45:55 +09:00
ip_vs_proto_tcp.c IPVS: netns, ip_vs_ctl local vars moved to ipvs struct. 2011-01-13 10:30:28 +09:00
ip_vs_proto_udp.c IPVS: netns, ip_vs_ctl local vars moved to ipvs struct. 2011-01-13 10:30:28 +09:00
ip_vs_proto.c netfilter: ipvs: fix compiler warnings 2011-01-22 13:19:36 +11:00
ip_vs_rr.c ipvs: make "no destination available" message more informative 2011-02-16 14:53:33 +09:00
ip_vs_sched.c ipvs: make "no destination available" message more informative 2011-02-16 14:53:33 +09:00
ip_vs_sed.c ipvs: make "no destination available" message more informative 2011-02-16 14:53:33 +09:00
ip_vs_sh.c ipvs: make "no destination available" message more informative 2011-02-16 14:53:33 +09:00
ip_vs_sync.c netfilter:ipvs: use kmemdup 2011-03-15 09:36:49 +09:00
ip_vs_wlc.c ipvs: unify the formula to estimate the overhead of processing connections 2011-02-25 11:35:41 +09:00
ip_vs_wrr.c ipvs: make "no destination available" message more informative 2011-02-16 14:53:33 +09:00
ip_vs_xmit.c ipvs: use enum to instead of magic numbers 2011-02-24 09:45:36 +09:00
Kconfig netfilter: fix IP_VS dependencies 2010-11-18 13:14:33 -08:00
Makefile IPVS: sip persistence engine 2010-10-04 22:45:24 +09:00