From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH 1/1] ixgbe: force to synchronize reporting "link on" and getting speed and duplex
Date: Wed, 23 Dec 2015 02:54:06 -0800 [thread overview]
Message-ID: <1450868046.3316.11.camel@intel.com> (raw)
In-Reply-To: <1450853205-27133-1-git-send-email-zyjzyj2000@gmail.com>
On Wed, 2015-12-23 at 14:46 +0800, zyjzyj2000 at gmail.com wrote:
> From: Zhu Yanjun <zyjzyj2000@gmail.com>
>
> In X540 NIC, there is a time span between reporting "link on" and
> getting the speed and duplex. To a bonding driver in 802.3ad mode,
> this time span will make it not work well if the time span is big
> enough. The big time span will make bonding driver change the state
> of
> the slave device to up while the speed and duplex of the slave device
> can not be gotten. Later the bonding driver will not have change to
> get the speed and duplex of the slave device. The speed and duplex of
> the slave device are important to a bonding driver in 802.3ad mode.
>
> To 82599_SFP NIC and other kinds of NICs, this problem does
> not exist. As such, it is necessary for X540 to report"link on" when
> the link speed is not IXGBE_LINK_SPEED_UNKNOWN.
>
> Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com>
> ---
> ?drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |???16
> +++++++++++++++-
> ?1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> index aed8d02..cb9d310 100644
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> @@ -6479,7 +6479,21 @@ static void ixgbe_watchdog_link_is_up(struct
> ixgbe_adapter *adapter)
> ? ???????(flow_rx ? "RX" :
> ? ???????(flow_tx ? "TX" : "None"))));
> ?
> - netif_carrier_on(netdev);
> + /*
> + ?* In X540 NIC, there is a time span between reporting "link
> on"
> + ?* and getting the speed and duplex. To a bonding driver in
> 802.3ad
> + ?* mode, this time span will make it not work well if the
> time span
> + ?* is big enough. To 82599_SFP NIC and other kinds of NICs,
> this
> + ?* problem does not exist. As such, it is better for X540 to
> report
> + ?* "link on" when the link speed is not
> IXGBE_LINK_SPEED_UNKNOWN.
> + ?*/
> + if ((hw->mac.type == ixgbe_mac_X540) &&
> + ????(link_speed != IXGBE_LINK_SPEED_UNKNOWN)) {
> + netif_carrier_on(netdev);
> + } else {
> + netif_carrier_on(netdev);
> + }
> +
> ? ixgbe_check_vf_rate_limit(adapter);
> ?
> ? /* enable transmits */
This patch only adds a needless test before
calling?netif_carrier_on(netdev), since the call happens no matter the
branch you take, it appears your running into a timing issue. ?So
adding a wait() before calling?netif_carrier_on(netdev) will accomplish
the same result and you do not have to add a useless test.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20151223/f955f020/attachment.asc>
WARNING: multiple messages have this Message-ID (diff)
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: zyjzyj2000@gmail.com, jesse.brandeburg@intel.com,
shannon.nelson@intel.com, carolyn.wyborny@intel.com,
donald.c.skidmore@intel.com, bruce.w.allan@intel.com,
john.ronciak@intel.com, mitch.a.williams@intel.com,
intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
e1000-devel@lists.sourceforge.net
Cc: venkat.viswanathan@windriver.com, Boris.Shteinbock@windriver.com,
Vincent.Bourg@windriver.com
Subject: Re: [PATCH 1/1] ixgbe: force to synchronize reporting "link on" and getting speed and duplex
Date: Wed, 23 Dec 2015 02:54:06 -0800 [thread overview]
Message-ID: <1450868046.3316.11.camel@intel.com> (raw)
In-Reply-To: <1450853205-27133-1-git-send-email-zyjzyj2000@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2615 bytes --]
On Wed, 2015-12-23 at 14:46 +0800, zyjzyj2000@gmail.com wrote:
> From: Zhu Yanjun <zyjzyj2000@gmail.com>
>
> In X540 NIC, there is a time span between reporting "link on" and
> getting the speed and duplex. To a bonding driver in 802.3ad mode,
> this time span will make it not work well if the time span is big
> enough. The big time span will make bonding driver change the state
> of
> the slave device to up while the speed and duplex of the slave device
> can not be gotten. Later the bonding driver will not have change to
> get the speed and duplex of the slave device. The speed and duplex of
> the slave device are important to a bonding driver in 802.3ad mode.
>
> To 82599_SFP NIC and other kinds of NICs, this problem does
> not exist. As such, it is necessary for X540 to report"link on" when
> the link speed is not IXGBE_LINK_SPEED_UNKNOWN.
>
> Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com>
> ---
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 16
> +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> index aed8d02..cb9d310 100644
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> @@ -6479,7 +6479,21 @@ static void ixgbe_watchdog_link_is_up(struct
> ixgbe_adapter *adapter)
> (flow_rx ? "RX" :
> (flow_tx ? "TX" : "None"))));
>
> - netif_carrier_on(netdev);
> + /*
> + * In X540 NIC, there is a time span between reporting "link
> on"
> + * and getting the speed and duplex. To a bonding driver in
> 802.3ad
> + * mode, this time span will make it not work well if the
> time span
> + * is big enough. To 82599_SFP NIC and other kinds of NICs,
> this
> + * problem does not exist. As such, it is better for X540 to
> report
> + * "link on" when the link speed is not
> IXGBE_LINK_SPEED_UNKNOWN.
> + */
> + if ((hw->mac.type == ixgbe_mac_X540) &&
> + (link_speed != IXGBE_LINK_SPEED_UNKNOWN)) {
> + netif_carrier_on(netdev);
> + } else {
> + netif_carrier_on(netdev);
> + }
> +
> ixgbe_check_vf_rate_limit(adapter);
>
> /* enable transmits */
This patch only adds a needless test before
calling netif_carrier_on(netdev), since the call happens no matter the
branch you take, it appears your running into a timing issue. So
adding a wait() before calling netif_carrier_on(netdev) will accomplish
the same result and you do not have to add a useless test.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2015-12-23 10:54 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-23 6:46 [Intel-wired-lan] [PATCH 1/1] ixgbe: force to synchronize reporting "link on" and getting speed and duplex zyjzyj2000
2015-12-23 6:46 ` zyjzyj2000
2015-12-23 10:54 ` Jeff Kirsher [this message]
2015-12-23 10:54 ` Jeff Kirsher
2015-12-24 3:12 ` [Intel-wired-lan] [V2 PATCH 1/1] ixgbe: force to synchronize reporting "link on" and zyjzyj2000
2015-12-24 3:12 ` zyjzyj2000
2015-12-24 3:12 ` [Intel-wired-lan] [PATCH 1/1] ixgbe: force to synchronize reporting "link on" and getting speed zyjzyj2000
2015-12-24 3:12 ` zyjzyj2000
2015-12-24 5:10 ` [Intel-wired-lan] [V2 PATCH 1/1] ixgbe: force to synchronize reporting "link on" and zhuyj
2015-12-24 5:10 ` zhuyj
2015-12-24 6:17 ` [Intel-wired-lan] " Tantilov, Emil S
2015-12-24 6:17 ` Tantilov, Emil S
2015-12-29 2:32 ` [Intel-wired-lan] [PATCH V3] ixgbe: force to synchronize link_up and speed as a slave zyjzyj2000
2015-12-29 2:32 ` zyjzyj2000
2015-12-29 2:32 ` [Intel-wired-lan] [PATCH 1/2] ixgbe: force to synchronize reporting "link on" and getting speed zyjzyj2000
2015-12-29 2:32 ` zyjzyj2000
2015-12-29 2:32 ` [Intel-wired-lan] [PATCH 2/2] ixgbe: restrict synchronization of link_up and speed zyjzyj2000
2015-12-29 2:32 ` zyjzyj2000
2015-12-29 16:18 ` [Intel-wired-lan] " Tantilov, Emil S
2015-12-29 16:18 ` Tantilov, Emil S
2015-12-29 19:17 ` Rustad, Mark D
2015-12-29 19:17 ` Rustad, Mark D
2015-12-30 3:06 ` zhuyj
2015-12-30 3:06 ` zhuyj
2015-12-30 9:16 ` [Intel-wired-lan] [PATCH V4] ixgbe: synchronize the link_speed and link_up of a slave interface zyjzyj2000
2015-12-30 9:16 ` zyjzyj2000
2015-12-30 9:16 ` [Intel-wired-lan] [PATCH 1/3] ixgbe: force to synchronize reporting "link on" and getting speed zyjzyj2000
2015-12-30 9:16 ` zyjzyj2000
2015-12-30 9:16 ` [Intel-wired-lan] [PATCH 2/3] ixgbe: restrict synchronization of link_up and speed zyjzyj2000
2015-12-30 9:16 ` zyjzyj2000
2015-12-30 9:16 ` [Intel-wired-lan] [PATCH 3/3] ixgbe: synchronize the link_speed and link_up of a slave interface zyjzyj2000
2015-12-30 9:16 ` zyjzyj2000
2015-12-30 19:02 ` [Intel-wired-lan] " Rustad, Mark D
2015-12-30 19:02 ` Rustad, Mark D
2015-12-31 5:04 ` [Intel-wired-lan] [PATCH V5] ixgbe: synchronize link_up and link_speed of a slave zyjzyj2000
2015-12-31 5:04 ` zyjzyj2000
2015-12-31 5:04 ` [Intel-wired-lan] [PATCH 1/1] ixgbe: synchronize link_up and link_speed of a slave interface zyjzyj2000
2015-12-31 5:04 ` zyjzyj2000
2015-12-31 5:37 ` [Intel-wired-lan] " Jeff Kirsher
2015-12-31 5:37 ` Jeff Kirsher
2015-12-31 7:11 ` [Intel-wired-lan] [PATCH V6] ixgbe: synchronize link_up and link_speed of a slave zyjzyj2000
2015-12-31 7:11 ` zyjzyj2000
2015-12-31 7:11 ` [Intel-wired-lan] [PATCH V6 1/1] ixgbe: synchronize link_up and link_speed of a slave interface zyjzyj2000
2015-12-31 7:11 ` zyjzyj2000
2015-12-31 5:17 ` [Intel-wired-lan] [PATCH V5] ixgbe: synchronize link_up and link_speed of a slave Jeff Kirsher
2015-12-31 5:17 ` Jeff Kirsher
2015-12-31 5:24 ` [Intel-wired-lan] " zhuyj
2015-12-31 5:24 ` zhuyj
2015-12-30 2:49 ` [Intel-wired-lan] [PATCH 2/2] ixgbe: restrict synchronization of link_up and speed zhuyj
2015-12-30 2:49 ` zhuyj
2015-12-30 6:55 ` Tantilov, Emil S
2015-12-30 6:55 ` Tantilov, Emil S
2015-12-30 8:20 ` zhuyj
2015-12-30 8:20 ` zhuyj
2015-12-30 16:37 ` Tantilov, Emil S
2015-12-30 16:37 ` Tantilov, Emil S
2016-01-06 5:41 ` zhuyj
2016-01-06 5:41 ` zhuyj
2016-01-06 15:30 ` Tantilov, Emil S
2016-01-06 15:30 ` Tantilov, Emil S
2016-01-07 2:08 ` zhuyj
2016-01-07 2:08 ` zhuyj
2016-01-07 2:38 ` zhuyj
2016-01-07 2:38 ` zhuyj
2015-12-23 12:17 ` [Intel-wired-lan] [PATCH 1/1] ixgbe: force to synchronize reporting "link on" and getting speed and duplex Sergei Shtylyov
2015-12-23 12:17 ` Sergei Shtylyov
2015-12-23 15:59 ` [Intel-wired-lan] " Tantilov, Emil S
2015-12-23 15:59 ` Tantilov, Emil S
2015-12-23 18:09 ` [Intel-wired-lan] [E1000-devel] " Stephen Hemminger
2015-12-23 18:09 ` [E1000-devel] [Intel-wired-lan] " Stephen Hemminger
2015-12-24 2:27 ` zhuyj
2015-12-24 2:27 ` zhuyj
2015-12-24 5:58 ` Tantilov, Emil S
2015-12-24 5:58 ` Tantilov, Emil S
2015-12-24 6:24 ` zhuyj
2015-12-24 6:24 ` zhuyj
2015-12-24 14:52 ` Tantilov, Emil S
2015-12-24 14:52 ` Tantilov, Emil S
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=1450868046.3316.11.camel@intel.com \
--to=jeffrey.t.kirsher@intel.com \
--cc=intel-wired-lan@osuosl.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.