2007-11-07 21:46:30

by Heikki Orsila

[permalink] [raw]
Subject: net: skge breakage on 2.6.24-rc1

After some bisecting, I found that net skge driver broke on

commit 7fb7ac241162dc51ec0f7644d4a97b2855213c32

My network card is:

0000:00:0e.0 Ethernet controller: 3Com Corporation 3c940 10/100/1000Base-T [Marvell] (rev 12)

Linux cheradenine 2.6.24-rc1-dirty #15 Wed Nov 7 23:39:28 EET 2007 x86_64 GNU/Linux

--
Heikki Orsila Barbie's law:
[email protected] "Math is hard, let's go shopping!"
http://www.iki.fi/shd


2007-11-07 21:53:57

by Heikki Orsila

[permalink] [raw]
Subject: Re: net: skge breakage on 2.6.24-rc1

On Wed, Nov 07, 2007 at 11:46:21PM +0200, Heikki Orsila wrote:
> After some bisecting, I found that net skge driver broke on
>
> commit 7fb7ac241162dc51ec0f7644d4a97b2855213c32
>
> My network card is:
>
> 0000:00:0e.0 Ethernet controller: 3Com Corporation 3c940 10/100/1000Base-T [Marvell] (rev 12)
>
> Linux cheradenine 2.6.24-rc1-dirty #15 Wed Nov 7 23:39:28 EET 2007 x86_64 GNU/Linux

Sorry, forgot to say what the problem is. Doing

nc host port < /dev/zero

on a sending machine (not skge) to an skge machine that is receiving:

nc -l -p port >/dev/null

with ~60 MiB/s speed, causes the interface go malfunct. A slow
transfer doesn't cause a problem.

Also, after some fiddling, I noticed that not changing the register
write order on patch:

+ skge_write32(hw, RB_ADDR(q, RB_END), end);
skge_write32(hw, RB_ADDR(q, RB_WP), start);
skge_write32(hw, RB_ADDR(q, RB_RP), start);
- skge_write32(hw, RB_ADDR(q, RB_END), end);

fixes the visible effect.. Possibly not the root cause of the problem,
but changing the order back fixes networking here.

--
Heikki Orsila Barbie's law:
[email protected] "Math is hard, let's go shopping!"
http://www.iki.fi/shd

2007-11-07 22:33:26

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: net: skge breakage on 2.6.24-rc1

On Wednesday, 7 of November 2007, Heikki Orsila wrote:
> On Wed, Nov 07, 2007 at 11:46:21PM +0200, Heikki Orsila wrote:
> > After some bisecting, I found that net skge driver broke on
> >
> > commit 7fb7ac241162dc51ec0f7644d4a97b2855213c32
> >
> > My network card is:
> >
> > 0000:00:0e.0 Ethernet controller: 3Com Corporation 3c940 10/100/1000Base-T [Marvell] (rev 12)
> >
> > Linux cheradenine 2.6.24-rc1-dirty #15 Wed Nov 7 23:39:28 EET 2007 x86_64 GNU/Linux
>
> Sorry, forgot to say what the problem is. Doing
>
> nc host port < /dev/zero
>
> on a sending machine (not skge) to an skge machine that is receiving:
>
> nc -l -p port >/dev/null
>
> with ~60 MiB/s speed, causes the interface go malfunct. A slow
> transfer doesn't cause a problem.
>
> Also, after some fiddling, I noticed that not changing the register
> write order on patch:
>
> + skge_write32(hw, RB_ADDR(q, RB_END), end);
> skge_write32(hw, RB_ADDR(q, RB_WP), start);
> skge_write32(hw, RB_ADDR(q, RB_RP), start);
> - skge_write32(hw, RB_ADDR(q, RB_END), end);
>
> fixes the visible effect.. Possibly not the root cause of the problem,
> but changing the order back fixes networking here.

Please put all of the relevant information into the bugzilla entry at
http://bugzilla.kernel.org/show_bug.cgi?id=9321

Thanks,
Rafael

2007-11-07 23:07:21

by Andrew Morton

[permalink] [raw]
Subject: Re: net: skge breakage on 2.6.24-rc1

> On Wed, 7 Nov 2007 23:50:30 +0100 "Rafael J. Wysocki" <[email protected]> wrote:
> On Wednesday, 7 of November 2007, Heikki Orsila wrote:
> > On Wed, Nov 07, 2007 at 11:46:21PM +0200, Heikki Orsila wrote:
> > > After some bisecting, I found that net skge driver broke on
> > >
> > > commit 7fb7ac241162dc51ec0f7644d4a97b2855213c32


Thanks for doing the bisection. It's a good idea to cc the author of the
offending patch after having done this.

> > > My network card is:
> > >
> > > 0000:00:0e.0 Ethernet controller: 3Com Corporation 3c940 10/100/1000Base-T [Marvell] (rev 12)
> > >
> > > Linux cheradenine 2.6.24-rc1-dirty #15 Wed Nov 7 23:39:28 EET 2007 x86_64 GNU/Linux
> >
> > Sorry, forgot to say what the problem is. Doing
> >
> > nc host port < /dev/zero
> >
> > on a sending machine (not skge) to an skge machine that is receiving:
> >
> > nc -l -p port >/dev/null
> >
> > with ~60 MiB/s speed, causes the interface go malfunct. A slow
> > transfer doesn't cause a problem.
> >
> > Also, after some fiddling, I noticed that not changing the register
> > write order on patch:
> >
> > + skge_write32(hw, RB_ADDR(q, RB_END), end);
> > skge_write32(hw, RB_ADDR(q, RB_WP), start);
> > skge_write32(hw, RB_ADDR(q, RB_RP), start);
> > - skge_write32(hw, RB_ADDR(q, RB_END), end);
> >
> > fixes the visible effect.. Possibly not the root cause of the problem,
> > but changing the order back fixes networking here.
>
> Please put all of the relevant information into the bugzilla entry at
> http://bugzilla.kernel.org/show_bug.cgi?id=9321

Please cc [email protected] on networking-related discussions.

2007-11-07 23:13:30

by Heikki Orsila

[permalink] [raw]
Subject: Re: net: skge breakage on 2.6.24-rc1

On Wed, Nov 07, 2007 at 03:06:21PM -0800, Andrew Morton wrote:
> > On Wed, 7 Nov 2007 23:50:30 +0100 "Rafael J. Wysocki" <[email protected]> wrote:
> > On Wednesday, 7 of November 2007, Heikki Orsila wrote:
> > > On Wed, Nov 07, 2007 at 11:46:21PM +0200, Heikki Orsila wrote:
> > > > After some bisecting, I found that net skge driver broke on
> > > >
> > > > commit 7fb7ac241162dc51ec0f7644d4a97b2855213c32
>
>
> Thanks for doing the bisection. It's a good idea to cc the author of the
> offending patch after having done this.

Sorry, I just forgot this time. Just after the bug report I did mail
the author in private (out of the list).

--
Heikki Orsila Barbie's law:
[email protected] "Math is hard, let's go shopping!"
http://www.iki.fi/shd