All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@vyatta.com>
To: Rick Jones <rick.jones2@hp.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
	Vijay Subramanian <subramanian.vijay@gmail.com>,
	tcpdump-workers@lists.tcpdump.org, netdev@vger.kernel.org
Subject: Re: twice past the taps, thence out to net?
Date: Thu, 15 Dec 2011 10:44:40 -0800	[thread overview]
Message-ID: <20111215104440.1eef9e47@s6510.linuxnetplumber.net> (raw)
In-Reply-To: <4EEA3D58.5010101@hp.com>

On Thu, 15 Dec 2011 10:32:56 -0800
Rick Jones <rick.jones2@hp.com> wrote:

> 
> > More exactly, we call dev_queue_xmit_nit() from dev_hard_start_xmit()
> > _before_ giving skb to device driver.
> >
> > If device driver returns NETDEV_TX_BUSY, and a qdisc was setup on the
> > device, packet is requeued.
> >
> > Later, when queue is allowed to send again packets, packet is
> > retransmitted (and traced a second time in dev_queue_xmit_nit())
> 
> Is this then an unintended consequence bug, or a known feature?
> 
> rick
> 
> > You can see the 'requeues' counter from "tc -s -d qdisc" output :
> >
> > qdisc mq 0: dev eth2 root
> >   Sent 29421597369 bytes 20301716 pkt (dropped 0, overlimits 0 requeues 371)
> >   backlog 0b 0p requeues 371
> 
> Sure enough:
> 
> $ tc -s -d qdisc
> qdisc mq 0: dev eth0 root
>   Sent 2212158799862 bytes 1938268098 pkt (dropped 0, overlimits 0 
> requeues 4975139)
>   backlog 0b 0p requeues 4975139
> 
> rick jones

Device's work better if the driver proactively manages stop_queue/wake_queue.
Old devices used TX_BUSY, but newer devices tend to manage the queue
themselves.

  reply	other threads:[~2011-12-15 18:44 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-14 19:27 twice past the taps, thence out to net? Rick Jones
2011-12-15  0:58 ` Benjamin Poirier
2011-12-15  2:12 ` Vijay Subramanian
2011-12-15 17:43   ` Eric Dumazet
2011-12-15 18:32     ` Rick Jones
2011-12-15 18:44       ` Stephen Hemminger [this message]
2011-12-15 19:00         ` Eric Dumazet
2011-12-15 22:22           ` Rick Jones
2011-12-16  4:27             ` Eric Dumazet
2011-12-16 18:28               ` Jesse Brandeburg
2011-12-16 19:34                 ` Eric Dumazet
2011-12-16 19:35               ` Rick Jones
2011-12-16 19:44                 ` Eric Dumazet
2011-12-20 21:21                   ` Wyborny, Carolyn
2011-12-15 18:54       ` Eric Dumazet

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=20111215104440.1eef9e47@s6510.linuxnetplumber.net \
    --to=shemminger@vyatta.com \
    --cc=eric.dumazet@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=rick.jones2@hp.com \
    --cc=subramanian.vijay@gmail.com \
    --cc=tcpdump-workers@lists.tcpdump.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.