From: Jay Vosburgh <fubar@us.ibm.com>
To: Jesper Krogh <jesper@krogh.cc>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
Jeff Garzik <jgarzik@redhat.com>,
aowi@novozymes.com
Subject: Re: Regression in bonding between 2.6.26.8 and 2.6.27.6 - bisected - twice
Date: Thu, 05 Mar 2009 10:51:12 -0800 [thread overview]
Message-ID: <9712.1236279072@death.nxdomain.ibm.com> (raw)
In-Reply-To: <49AA8B4F.8090405@krogh.cc>
Jesper Krogh <jesper@krogh.cc> wrote:
>Jesper Krogh wrote:
>> I appreciate that you spend time on it, but my feeling is that it
>> definately isn't reproducible in all environments (otherwise we would
>> probably have seen a large cry by now).
>>
>> I'm trying to bisect the "fix" down and hope that'll tell us something
>> more.
>
>Ok, The fixing commit seems to be: cb52deba12f27af90a46d2f8667a64888118a888
>
>Applying it to 2.6.28.7 and 2.6.27.19 makes them both work.
>
>It also explains why my e1000 based bonds didnt break, allthough the
>commitmessage doesnt mention anything about how it should effect
>bonding. Wouldn't it make sense to propose this patch for 2.6.27 and
>2.6.28 stable kernels?
Perhaps.
I don't have a forcedeth to test with, and as you surmised, I
was unable to reproduce the problem with other chipsets (tg3 or e1000).
However, I did find another bug I introduced during the "mii
refactor" patch that you mentioned as being the original source of the
problem. That bug will cause 802.3ad to not notice speed changes.
Could you test the patch below on your 2.6.68.7 and/or 2.6.27.19
and see if it resolves your problem (without the forcedeth patch)?
-J
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 2c96b93..ad81474 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3545,11 +3545,27 @@ static int bond_slave_netdev_event(unsigned long event, struct net_device *slave
}
break;
case NETDEV_CHANGE:
- /*
- * TODO: is this what we get if somebody
- * sets up a hierarchical bond, then rmmod's
- * one of the slave bonding devices?
- */
+ if (bond->params.mode == BOND_MODE_8023AD ||
+ bond_is_lb(bond)) {
+ struct slave *slave;
+
+ slave = bond_get_slave_by_dev(bond, slave_dev);
+ if (slave) {
+ u16 old_speed = slave->speed;
+ u16 old_duplex = slave->duplex;
+
+ bond_update_speed_duplex(slave);
+
+ if (bond_is_lb(bond))
+ break;
+
+ if (old_speed != slave->speed)
+ bond_3ad_adapter_speed_changed(slave);
+ if (old_duplex != slave->duplex)
+ bond_3ad_adapter_duplex_changed(slave);
+ }
+ }
+
break;
case NETDEV_DOWN:
/*
---
-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com
next prev parent reply other threads:[~2009-03-05 18:51 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-16 9:41 Regression in bonding between 2.6.26.8 and 2.6.27.6 Jesper Krogh
2008-11-17 23:45 ` Jay Vosburgh
2008-11-18 20:24 ` Jesper Krogh
2008-11-18 20:28 ` Jesper Krogh
2008-11-18 20:53 ` Jay Vosburgh
2008-11-19 7:53 ` Jesper Krogh
2008-12-08 20:42 ` Brandeburg, Jesse
2008-11-19 10:01 ` Jesper Krogh
2009-02-27 9:25 ` Regression in bonding between 2.6.26.8 and 2.6.27.6 - bisected Jesper Krogh
2009-02-27 16:28 ` Jay Vosburgh
2009-02-27 20:07 ` Jesper Krogh
2009-02-27 20:35 ` Jay Vosburgh
2009-02-28 17:21 ` Jesper Krogh
2009-03-01 6:21 ` Jesper Krogh
2009-03-01 13:19 ` Regression in bonding between 2.6.26.8 and 2.6.27.6 - bisected - twice Jesper Krogh
2009-03-05 18:51 ` Jay Vosburgh [this message]
2009-03-09 20:53 ` Jesper Krogh
2009-03-13 23:12 ` David Miller
2009-03-13 23:27 ` Jay Vosburgh
2009-03-16 20:34 ` Jesper Krogh
2009-03-16 20:35 ` David Miller
2009-03-17 20:18 ` Jesper Krogh
2009-03-19 1:39 ` 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=9712.1236279072@death.nxdomain.ibm.com \
--to=fubar@us.ibm.com \
--cc=aowi@novozymes.com \
--cc=jesper@krogh.cc \
--cc=jgarzik@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).