From: jamal <hadi@cyberus.ca>
To: jesse.brandeburg@intel.com, uke-jan.h.kok@intel.com
Cc: Robert.Olsson@data.slu.se, netdev@vger.kernel.org,
john.ronciak@intel.com, greearb@candelatech.com,
jgarzik@pobox.com, olel@ans.pl,
"David S. Miller" <davem@davemloft.net>
Subject: Re: Bug in e1000 + semantics of flow control WAS(Re: [e1000]: flow control on by default - good idea really?
Date: Thu, 03 Aug 2006 08:29:52 -0400 [thread overview]
Message-ID: <1154608192.5205.13.camel@jzny2> (raw)
In-Reply-To: <1153426557.5273.132.camel@jzny2>
To the good folks at Intel:
Do you need more info on how to reproduce the issue below?
Note, there are 2 issues - one being a larger ethtool semantic issue and
the other being what i perceive to be a bug in the e1000.
cheers,
jamal
On Thu, 2006-20-07 at 16:15 -0400, jamal wrote:
> I went back to this today. I am typing this from a scribbled sticky
> note in a big hurry - but i still believe I took the correct notes.
>
> It does seem there is no distinction between what ethernet advertises
> for flow control capability vs what it ends up negotiating with its
> partner i.e there is some ambiguity. I havent checked tg3, this on e1000
> only.
>
> On Fri, 2006-07-07 at 08:28 -0400, jamal wrote:
> > On Thu, 2006-06-07 at 23:59 -0700, David Miller wrote:
> >
> > >
> > > It's autonegotiated, check you kernel message logs when the link
> > > came up, you'll see this:
> > >
> > > tg3: eth0: Flow control is on for TX and on for RX.
> > >
> >
> > yikes - yes, this would be it.
> >
> > I could be wrong and i will double check:
> > I think when the e1000 says via ethtool "rx is on" - it means that it
> > is _advertising_ flow control as opposed to detecting partner has flow
> > control capability.
> > Auke, can you also check this as well?
>
> Semantic #1
>
> For example, configure:
> ethtool -A eth0 rx off
> ethtool -A eth0 tx on
>
> debopolis:~# ethtool -a eth0
> Pause parameters for eth0:
> Autonegotiate: on
> RX: off
> TX: on
>
> The other side was set to do symmetric TX flow control only.
>
> Now enforce autonegotiation:
> ethtool -r eth0
>
> ethtool -a eth0
> Pause parameters for eth0:
> Autonegotiate: on
> RX: off
> TX: off
>
> Ok, this is what i expected if this thing (output of ethtool) was
> supposed to store state as opposed to configuration.
> But if it is state that is stored, then what about that the values
> before autonegotian - surely that state is invalid, no?
>
> It would be nice (for debug/usability reasons) to be able to see what i
> configured vs what i end up negotiating with the link partner. I think
> this may be an ethtool issue, but it could also be a driver issue.
>
> I send 1 Mpps to eth0 and see no flow control packets back. good. So it
> does store state
>
> #2: The other semantic
>
> debopolis:~# ethtool -A eth0 rx on
> debopolis:~# ethtool -A eth0 tx on
>
> debopolis:~# ethtool -a eth0
> Pause parameters for eth0:
> Autonegotiate: on
> RX: on
> TX: on
>
> Other side was set to do symmetric TX flow control only.
>
> Now enforce autonegotiation:
> debopolis:~# ethtool -r eth0
>
> lets see what we came up with:
> debopolis:~# ethtool -a eth0
> Pause parameters for eth0:
> Autonegotiate: on
> RX: on
> TX: on
>
> Now that is contradictory to #1 semantic - I would have expected this TX
> flow control on the e1000 to be off.
> Unless it is meant to store configuration info and not what you have
> negotiated.
>
> Trying sending traffic to the e1000 at about 1Mpps.
> I observe that the e1000 is sending out about 800Kpps of flow control
> packets back ;->
>
> So which semantics are correct? I would claim #2 flow control behavior
> to be a bug. I just dont have time to chase a fix - hopefully whoever
> reads this from the e1000 crowd can fix it.
>
> More importantly can we have two variables storing the two pieces on
> information separately instead of the ambiguity of just one?
>
>
> cheers,
> jamal
next prev parent reply other threads:[~2006-08-03 12:29 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-04 17:11 [e1000]: flow control on by default - good idea really? jamal
2006-07-04 19:20 ` jamal
2006-07-05 16:23 ` Auke Kok
2006-07-05 20:37 ` Krzysztof Oledzki
2006-07-05 18:22 ` David Miller
2006-07-05 18:32 ` Auke Kok
2006-07-05 20:45 ` Krzysztof Oledzki
2006-07-05 21:13 ` Auke Kok
2006-07-06 13:03 ` jamal
2006-07-06 18:25 ` Auke Kok
2006-07-07 3:09 ` jamal
2006-07-07 6:59 ` David Miller
2006-07-07 12:28 ` jamal
2006-07-20 20:15 ` Bug in e1000 + semantics of flow control WAS(Re: " jamal
2006-08-03 12:29 ` jamal [this message]
2006-10-16 18:55 ` Auke Kok
2006-10-17 13:05 ` jamal
2006-10-17 17:18 ` Auke Kok
2006-10-17 18:25 ` Stephen Hemminger
2006-10-17 21:02 ` Auke Kok
2006-10-18 13:35 ` jamal
2006-10-18 14:57 ` Auke Kok
2006-10-17 21:46 ` David Miller
2006-07-05 16:57 ` Robert Olsson
2006-07-05 18:21 ` David Miller
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=1154608192.5205.13.camel@jzny2 \
--to=hadi@cyberus.ca \
--cc=Robert.Olsson@data.slu.se \
--cc=davem@davemloft.net \
--cc=greearb@candelatech.com \
--cc=jesse.brandeburg@intel.com \
--cc=jgarzik@pobox.com \
--cc=john.ronciak@intel.com \
--cc=netdev@vger.kernel.org \
--cc=olel@ans.pl \
--cc=uke-jan.h.kok@intel.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