netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: "John W. Linville" <linville@tuxdriver.com>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	Jeff Garzik <jgarzik@pobox.com>
Subject: Re: [patch 2.6.13 0/5] normalize calculations of rx_dropped
Date: Mon, 24 Oct 2005 18:15:03 -0700	[thread overview]
Message-ID: <435D8717.9000107@candelatech.com> (raw)
In-Reply-To: <20051024215751.GH28212@tuxdriver.com>

John W. Linville wrote:
> On Mon, Oct 24, 2005 at 02:35:42PM -0700, Ben Greear wrote:
> 
> 
>>It doesn't matter too much to me either way, but I'd like for there to
>>be a precisely documented definition for the various net-stats so that
>>I can correctly show the values to user-space (I can certainly add 
>>rx_discards
>>to rx_errors for a 'total rx errors' value, but I need to know whether
>>rx_discards is already in rx_errors to keep from counting things twice.)
> 
> 
> My opinion is that:
> 
> 	-- rx_errors should count all "on the wire" hardware errors;
> 
> 	-- rx_missed_errors should count frames w/ no "on the wire"
> 	errors that cannot be received by the hardware (generally
> 	due to lack of DMA bufers); and,
> 
> 	-- rx_discards should count frames dropped by the kernel
> 	after successful reception by the hardware.
> 
> I do _not_ think rx_missed_errors should be counted as part of
> rx_errors, but I could be persuaded otherwise.

Well, if we have rx_errors containing any of the other more specific
error counts (reported in the net-stats struct), I don't see a reason
not to include all of them in the counter.  I think my preference would
be to have rx_errors be every conceivable frame that we know was sent to
us but which did not get properly delivered to the software stack.

Each error would also fall into it's more specific counters.

That way, the rx-errors counter can be used for folks who just care
that the packet was not correctly received, and those that care about
the details can look at the individual errors (and sum them up in various
configurations due to personal taste, etc.)

That said, rx-errors would then be duplicate info because we could arrive
at it's value by just adding up all the other error counters....

> It does seem like a netdev stats clarification doc would be
> appropriate.  Does anyone have the beginnings of this?

It's not authoritative, but I scrounged this info from various people,
including Mr Becker some years ago.  I undoubtedly made some of this up
myself, and there could be errors of course:

rx_errors:  Total of all rx errors
rx_dropped:  Dropped on receive, usually due to kernel being over-worked.
rx_length:  Dropped because pkt-length was invalid.
rx_over:  Dropped because we over-ran the NIC's rx buffers.
rx_crc:  Packets received with bad CRC errors.
rx_frame:  Framing errors (errors at the physical layer), usually cable or hardware error.
rx_fifo:  Dropped due to Kernel buffers being full (I guess rx-over could be NIC only, rx-fifo be kernel/driver only.)
rx_missed:  Dropped due to not handling IRQ in time.

tx_abort:  Failed to TX due to driver abort.
tx_carrier:  Failed to TX due to lack of carrier signal.
tx_fifo:  Over-ran the driver/kernel buffer(s).
tx_heartbeat:  Failed to TX due to transceiver heartbeat errors.
tx_window:  Failed to TX due to out-of-window error.

Thanks,
Ben

> 
> John


-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

  reply	other threads:[~2005-10-25  1:15 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20050822181726.GJ2736@tuxdriver.com>
2005-09-12 14:48 ` [patch 2.6.13 0/5] normalize calculations of rx_dropped John W. Linville
2005-09-12 14:48   ` [patch 2.6.13 1/5] 3c59x: correct rx_dropped counting John W. Linville
2005-09-12 14:48     ` [patch 2.6.13 2/5] e1000: " John W. Linville
2005-09-12 14:48       ` [patch 2.6.13 3/5] e100: correct rx_dropped and add rx_missed_errors John W. Linville
2005-09-12 14:49         ` [patch 2.6.13 4/5] ixgb: correct rx_dropped counting John W. Linville
2005-09-12 14:49           ` [patch 2.6.13 5/5] tg3: correct rx_dropped and add rx_missed_errors John W. Linville
2005-09-12 18:53   ` [patch 2.6.13 0/5] normalize calculations of rx_dropped Jeff Garzik
2005-09-12 19:14     ` John W. Linville
2005-10-24 21:35       ` Ben Greear
2005-10-24 21:57         ` John W. Linville
2005-10-25  1:15           ` Ben Greear [this message]
2005-10-25  1:42             ` jamal
2005-10-25 19:50             ` Ingo Oeser

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=435D8717.9000107@candelatech.com \
    --to=greearb@candelatech.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=netdev@vger.kernel.org \
    /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).