netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bill Fink <billfink@mindspring.com>
To: Jeff Garzik <jeff@garzik.org>
Cc: bcook@bpointsys.com, phil@ipom.com, davem@davemloft.net,
	netdev@vger.kernel.org
Subject: Re: reminder, 2.6.18 window...
Date: Thu, 25 May 2006 03:23:57 -0400	[thread overview]
Message-ID: <20060525032357.4990425f.billfink@mindspring.com> (raw)
In-Reply-To: <4474BD52.6020604@garzik.org>

On Wed, 24 May 2006, Jeff Garzik wrote:

> Brent Cook wrote:
> > Note that this is just clearing the hardware statistics on the interface, and 
> > would not require any kind of atomic_increment addition for interfaces that 
> > support that. It would be kind-of awkward to implement this on drivers that  
> > increment stats in hardware though (lo, vlan, br, etc.) This also brings up 
> > the question of resetting the stats for 'netstat -s'
> 
> If you don't atomically clear the statistics, then you are leaving open 
> a window where the stats could easily be corrupted, if the network 
> interface is under load.
> 
> This 'clearing' operation has implications on the rest of the statistics 
> usage.
> 
> More complexity, and breaking of apps, when we could just use the 
> existing, working system?  I'll take the "do nothing, break nothing, 
> everything still works" route any day.

I'll admit to not knowing all the intricacies of the kernel coding involved,
but I don't offhand see how zeroing the stats would be significantly more
complex than updating the stats during normal usage.  But I'll have to
leave that argument to the experts.

To me the main argument is that such a stat zeroing feature would be
extremely useful.  When trying to track down nasty networking problems
that traverse a multitude of devices, it is often highly desirable to
zero the interface statistics on all the interfaces in the path (which
is available on all networking switches and routers I have worked with),
run some kind of stress test across the path, and then examine the packet
and error counters on all the involved interfaces.  This makes it easy to
pinpoint where packets are getting lost or errors are being introduced,
especially when there are scores of stats per device and you may not even
know a priori exactly what you are looking for.  Using such a scheme, the
human mind can quickly discern patterns in the data and focus in on any
likely problem areas.  The human mind (at least speaking for myself) is
not nearly as adept when having to deal with deltas.  Yes, you can record
the initial state of all the devices, run the stress test, record the new
state of all the devices, and then spend a large amount of time devising
a script to calculate all the deltas for all the scores of variables on
all the involved devices, and then finally try and figure out what is
wrong.  But it would be so much better, easier, and more efficient, if
the kernel simply provided such a feature that almost all other networking
devices provide.

I also think the SNMP/mgt apps argument is specious.  A) SNMP isn't even
an issue with all networks.  B) As has been pointed out by others, there
is no requirement to have to use such a new stats zeroing feature.  It
would simply be a tool in the network engineer's toolbelt, just like
possibly taking an interface down and back up to see if it corrects a
problem.  The network engineer has to balance the potential benefit/harm
of any action he chooses to take, but let him have that choice.  And C)
I don't think any decent SNMP/mgt app will be particularly bothered by
zeroing interface stats.  I believe they are fairly decent about dealing
with such events (I don't recall our MRTG graphs getting any giant spikes
when I've zeroed interface stats on our GigE/10-GigE switches).  I think
the main harm in such a case would be the loss of a sampling interval.

						-Bill

  reply	other threads:[~2006-05-25  7:24 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-24  1:22 reminder, 2.6.18 window David Miller
2006-05-24  8:01 ` Phil Dibowitz
2006-05-24 18:21   ` jamal
2006-05-24 18:23   ` Jeff Garzik
2006-05-24 18:34     ` Rick Jones
2006-05-24 18:56     ` Phil Dibowitz
2006-05-24 19:05       ` Jeff Garzik
2006-05-24 19:14         ` Phil Dibowitz
2006-05-24 20:01           ` Brent Cook
2006-05-24 20:08             ` Jeff Garzik
2006-05-25  7:23               ` Bill Fink [this message]
2006-05-25 13:05                 ` Brent Cook
2006-05-25 16:12                   ` Bill Fink
2006-05-25 17:59                   ` Phil Dibowitz
2006-05-25 18:41                     ` Brent Cook
2006-05-25 19:22                       ` Phil Dibowitz
2006-05-25 20:29                         ` David Miller
2006-05-25 21:04                           ` Phil Dibowitz
2006-05-25 21:07                             ` David Miller
2006-05-26  9:52                   ` Andi Kleen
2006-05-25 13:34                 ` Dave Dillow
2006-05-26  9:46               ` Andi Kleen
2006-05-24 20:10           ` jamal
2006-05-24 20:25             ` Rick Jones
2006-05-25 15:27               ` jamal
2006-05-25 16:43                 ` Rick Jones
2006-05-26 22:06                   ` Rick Jones
2006-05-24 20:44             ` Brian Haley
2006-05-24 21:01               ` Rick Jones
2006-05-26  6:48               ` Phil Dibowitz
2006-05-24 20:48             ` Phil Dibowitz
2006-05-24 21:04               ` Rick Jones
2006-05-24 21:10                 ` Ben Greear
2006-05-25  5:01                   ` Phil Dibowitz
2006-05-25  7:18                     ` Ben Greear
2006-05-25  7:55                     ` Bill Fink
2006-05-25 12:17                     ` Francois Romieu
2006-05-25  9:53       ` Pekka Savola
2006-05-24 20:53     ` Andy
2006-05-26  9:43   ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060525032357.4990425f.billfink@mindspring.com \
    --to=billfink@mindspring.com \
    --cc=bcook@bpointsys.com \
    --cc=davem@davemloft.net \
    --cc=jeff@garzik.org \
    --cc=netdev@vger.kernel.org \
    --cc=phil@ipom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).