From: "Edgar E. Iglesias" <edgar.iglesias@axis.com>
To: jamal <hadi@cyberus.ca>
Cc: Jesse Brandeburg <jesse.brandeburg@gmail.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
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: Mon, 7 Aug 2006 22:28:26 +0200 [thread overview]
Message-ID: <20060807202826.GC10909@edgar.underground.se.axis.com> (raw)
In-Reply-To: <1154979270.5446.97.camel@jzny2>
On Mon, Aug 07, 2006 at 03:34:30PM -0400, jamal wrote:
> On Mon, 2006-07-08 at 21:14 +0200, Edgar E. Iglesias wrote:
>
> > > If yes, what is the likelihood they will sit there forever? I think
> > > perhaps some TX interupts will happen, no?
> >
> > with jamal undefined, absolutely. With jamal defined, TX interrupts will come
> > but I couldnt find a way into e1000_prune_tx_ring unless fdesc met the
> > conditions. Correct?
> >
>
> Forgive me since i am still missing something ..
>
> Observe that the same threshold used in two different ways:
>
> 1) in tx path tx_ring->prunet is to check on when we should _start_ to
> prune.
> 2) on rx path tx_ring->prunet is to check when to _stop_ pruning.
>
I can see two calls to e1000_prune_tx_ring with jamal _defined_.
1. tx path
+#ifdef jamal
+ {
+ int fdesc = E1000_DESC_UNUSED(tx_ring);
+ if (unlikely(fdesc < tx_ring->waket))
+ e1000_prune_tx_ring(adapter,tx_ring);
+ }
+#endif
2. tx and rx path
+#ifdef jamal
+ spin_lock(&tx_ring->tx_lock);
+ {
+ int fdesc = E1000_DESC_UNUSED(tx_ring);
+ if (fdesc < tx_ring->prunet) {
+ if (e1000_prune_tx_ring(adapter,tx_ring))
+ cleaned = TRUE;
}
}
+ spin_unlock(&tx_ring->tx_lock);
+#else
+ if (e1000_prune_tx_ring(adapter,tx_ring))
+ cleaned = TRUE;
+#endif
Assume a ring of 64 entries, prunet of 16, waket of 8. Now host sends 40 skbs
and stops. tx-ring holds 40 skbs, has 24 free. TX interrupts hit you, you may
even be receiveing packets but I don't see how you enter prune_tx_ring without
more packets going out via hard_start_xmit? skb's will sit on the ring until
more packets are sent from the quiet host.
As you can see, with jamal _undefined_ e1000_prune_tx_ring is called
unconditionally and I beleive things will work ok.
I am not familiar with this code nor the hw so I'm probably missing something
fundamental.
Best regards
--
Programmer
Edgar E. Iglesias <edgar.iglesias@axis.com> 46.46.272.1946
next prev parent reply other threads:[~2006-08-07 20:28 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
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 [this message]
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=20060807202826.GC10909@edgar.underground.se.axis.com \
--to=edgar.iglesias@axis.com \
--cc=auke-jan.h.kok@intel.com \
--cc=davem@davemloft.net \
--cc=hadi@cyberus.ca \
--cc=herbert@gondor.apana.org.au \
--cc=jesse.brandeburg@gmail.com \
--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.