All of lore.kernel.org
 help / color / mirror / Atom feed
From: jamal <hadi@cyberus.ca>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: David Miller <davem@davemloft.net>,
	shemminger@osdl.org, mchan@broadcom.com,
	jesse.brandeburg@intel.com, auke-jan.h.kok@intel.com,
	netdev@vger.kernel.org
Subject: Re: [PATCH] [e1000]: Remove unnecessary tx_lock
Date: Sat, 05 Aug 2006 19:17:48 -0400	[thread overview]
Message-ID: <1154819868.5517.34.camel@jzny2> (raw)
In-Reply-To: <20060805230517.GA25468@gondor.apana.org.au>

On Sun, 2006-06-08 at 09:05 +1000, Herbert Xu wrote:
> On Sat, Aug 05, 2006 at 12:56:42PM -0400, jamal wrote:
> >
> > > > The real risk is that the transmit routine will decide it's busy, but
> > > > at the same time an IRQ on another CPU will clean up the whole ring
> > > > and make the queue available again. Then the transmit routine exits and
> > > > says its busy, and the higher level will decide it is permanently stopped.
> 
> This is exactly the scenario where the current code can fail.  It is
> also exactly the one that my patch addresses.
>  

So would the holding of the tx lock at the top layer/qdisc_restart level
not help?

> > I noticed that the e1000 in some cases returns NETDEV_TX_OK even when it
> > has stopped the queue. This results in wasted calls into the qdisc.
> 
> Actually it's OK.  qdisc_restart will return after each NETDEV_TX_OK and
> its caller will check netif_queue_stopped before calling it again.
>  

yes, of course ;->

Actually the stat i captured was not related to this, rather it was the
number of times we entered qdisc_is_running and were unable to get a
packet. I am using the simple pfifo so it cant be the scheduler refusing
to give us a packet. I have a feeling it is just enthusiastic wake up of
the tx softirq. Thoughts on this? I will add checks to be sure. 

> > > If we could avoid NETDEV_TX_BUSY et al. from happening, the idea is
> > > that we could eliminate all of the requeueing logic in the packet
> > > scheduler layer.  It is a pipe dream from many years ago.
> > 
> > Still doable IMO - maybe a motivation for something to experiment with
> > this long weekend. 
> 
> A precondition to eliminating it altogether is to eliminate lockless
> drivers which would be a very good thing :)
> 

They have certainly complicated things. 

cheers,
jamal


  reply	other threads:[~2006-08-05 23:17 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-03 13:15 [PATCH] [e1000]: Remove unnecessary tx_lock jamal
2006-08-03 14:02 ` Herbert Xu
2006-08-03 14:24   ` jamal
2006-08-03 16:36   ` Brandeburg, Jesse
2006-08-03 18:05     ` Michael Chan
2006-08-03 22:08       ` jamal
2006-08-04  0:09         ` Michael Chan
2006-08-04  1:10           ` Herbert Xu
2006-08-04  8:37             ` Herbert Xu
2006-08-04 10:10               ` Herbert Xu
2006-08-04 10:16                 ` jamal
2006-08-04 10:25                   ` Herbert Xu
2006-08-04 10:45                     ` jamal
2006-08-05 23:04                     ` jamal
2006-08-05 23:06                       ` Herbert Xu
2006-08-05 23:21                         ` jamal
2006-08-05 23:30                           ` Herbert Xu
2006-08-05 16:45                   ` jamal
2006-08-04 17:12                 ` Stephen Hemminger
2006-08-04 17:28                 ` Michael Chan
2006-08-04 18:08                   ` Stephen Hemminger
2006-08-04 23:31                     ` David Miller
2006-08-05 16:56                       ` jamal
2006-08-05 23:05                         ` Herbert Xu
2006-08-05 23:17                           ` jamal [this message]
2006-08-05 23:19                             ` Herbert Xu
2006-08-05 23:36                               ` jamal
2006-08-06  2:51                                 ` Herbert Xu
2006-08-06  7:14                                   ` Edgar E. Iglesias
2006-08-06  7:24                                     ` Herbert Xu
2006-08-06  7:30                                       ` Edgar E. Iglesias
2006-08-06  7:26                                     ` David Miller
2006-08-06  7:36                                       ` Herbert Xu
2006-08-06  8:06                                         ` Edgar E. Iglesias
2006-08-06  8:27                                           ` Herbert Xu
2006-08-06  9:03                                             ` Edgar E. Iglesias
2006-08-06  9:10                                               ` Herbert Xu
2006-08-06  9:18                                                 ` Edgar E. Iglesias
2006-08-06  8:35                                         ` David Miller
2006-08-06 12:24                                   ` jamal
2006-08-06 12:33                                     ` jamal
2006-08-06 23:16                                       ` Jesse Brandeburg
2006-08-07 12:50                                         ` jamal
2006-08-07 15:21                                           ` Edgar E. Iglesias
2006-08-07 15:40                                             ` jamal
2006-08-07 15:59                                               ` Edgar E. Iglesias
2006-08-07 16:31                                                 ` Jamal Hadi Salim
2006-08-07 17:04                                                   ` Edgar E. Iglesias
2006-08-07 18:00                                                     ` jamal
2006-08-07 18:47                                                       ` Edgar E. Iglesias
2006-08-07 19:03                                                         ` jamal
2006-08-07 19:14                                                           ` Edgar E. Iglesias
2006-08-07 19:34                                                             ` jamal
2006-08-07 20:28                                                               ` Edgar E. Iglesias
2006-08-08  0:52                                                                 ` jamal
2006-08-07 20:53                                                           ` Brandeburg, Jesse
2006-08-08  1:07                                                             ` jamal
2006-08-07 23:23                                                           ` Herbert Xu
2006-08-07 23:35                                                             ` Brandeburg, Jesse
2006-08-07 23:40                                                               ` Herbert Xu
2006-08-07 16:29                                               ` Edgar E. Iglesias
2006-08-07 16:36                                                 ` jamal
2006-08-06 19:22                                     ` jamal
2006-08-08  1:19                                     ` jamal
2006-08-08  1:22                                       ` Herbert Xu
2006-08-08  1:33                                         ` jamal
2006-08-08  2:17                                           ` Herbert Xu
2006-08-08  3:10                                             ` jamal
2006-08-08 12:21                                   ` jamal
2006-08-08 12:39                                     ` Herbert Xu
2006-08-06 17:20                           ` Michael Chan
2006-08-06 23:04                             ` Herbert Xu
2006-08-07  3:56                               ` Michael Chan
2006-08-07  4:21                                 ` Herbert Xu
2006-08-08 17:04                       ` Benjamin LaHaise
2006-08-08 22:06                         ` David Miller
2006-08-08 23:21                           ` Benjamin LaHaise
2006-08-09  0:25                             ` Herbert Xu
2006-08-09  1:25                               ` Benjamin LaHaise
2006-08-04  1:16           ` jamal
2006-08-04  1:18             ` Herbert Xu
2006-08-04  1:25               ` jamal
2006-08-04  4:06             ` Michael Chan
2006-08-03 22:06     ` jamal
  -- strict thread matches above, loose matches on Subject: below --
2006-08-08  5:43 Brandeburg, Jesse

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=1154819868.5517.34.camel@jzny2 \
    --to=hadi@cyberus.ca \
    --cc=auke-jan.h.kok@intel.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=jesse.brandeburg@intel.com \
    --cc=mchan@broadcom.com \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@osdl.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.