From: Andrew Lunn <andrew@lunn.ch>
To: Jijie Shao <shaojijie@huawei.com>
Cc: yisen.zhuang@huawei.com, salil.mehta@huawei.com,
davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, shenjian15@huawei.com, wangjie125@huawei.com,
liuyonglong@huawei.com, wangpeiyang1@huawei.com,
netdev@vger.kernel.org, stable@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH net 5/6] net: hns3: fix wrong print link down up
Date: Tue, 17 Oct 2023 15:59:03 +0200 [thread overview]
Message-ID: <06cd6f53-e0af-4bdf-a684-68fc55b9b436@lunn.ch> (raw)
In-Reply-To: <150d8d95-a6cd-dc28-618b-6cc5295b4bf9@huawei.com>
On Tue, Oct 17, 2023 at 09:03:01PM +0800, Jijie Shao wrote:
>
> on 2023/7/31 17:10, Jijie Shao wrote:
> >
> > on 2023/7/30 2:23, Andrew Lunn wrote:
> > > > Now i wounder if you are fixing the wrong thing. Maybe you
> > > > should be
> > > > fixing the PHY so it does not report up and then down? You
> > > > say 'very
> > > > snall intervals', which should in fact be 1 second. So is the PHY
> > > > reporting link for a number of poll intervals? 1min to 10 minutes?
> > > >
> > > > Andrew
> > > >
> > > > Yes, according to the log records, the phy polls every second,
> > > > but the link status changes take time.
> > > > Generally, it takes 10 seconds for the phy to detect link down,
> > > > but occasionally it takes several minutes to detect link down,
> > > What PHY driver is this?
> > >
> > > It is not so clear what should actually happen with auto-neg turned
> > > off. With it on, and the link going down, the PHY should react after
> > > about 1 second. It is not supposed to react faster than that, although
> > > some PHYs allow fast link down notification to be configured.
> > >
> > > Have you checked 802.3 to see what it says about auto-neg off and link
> > > down detection?
> > >
> > > I personally would not suppress this behaviour in the MAC
> > > driver. Otherwise you are going to have funny combinations of special
> > > cases of a feature which very few people actually use, making your
> > > maintenance costs higher.
> > >
> > > Andrew
>
> Hi Andrew,
> We've rewritten the commit log to explain this problem,
> Would you please take some time to review that?
>
> The following is the new commit log:
> This patch is to correct a wrong log info "link down/up" in hns3 driver.
> When setting autoneg off without changing speed and duplex, the link
> should be not changed. However in hns3 driver, it print link down/up once
> incorrectly. We trace the phy machine state and find the phy change form
> PHY_UP to PHY_RUNNING. No other state of PHY occurs during this process.
> MDIO trace also indicate the link is on. The wrong log info and mdio
> trace are showed as followed:
>
> [ 843.720783][ T367] hns3 0000:35:00.0 eth1: set link(phy): autoneg=0,
> speed=10, duplex=1
> [ 843.736087][ T367] hns3 0000:35:00.0 eth1: link down
> [ 843.773506][ T17] RTL8211F Gigabit Ethernet mii-0000:35:00.0:02: PHY
> state change UP -> RUNNING
> [ 844.674668][ T31] hns3 0000:35:00.0 eth1: link up
I still think this is totally valid and correct.
When you turn auto-neg off the link partner is going to react to that,
it might drop the link. After a while, the link partner will give up
trying to perform auto-neg and might fall back to 10/Half. At which
point, the link might allow traffic flow. However, in this example,
you have a duplex mis-match, so it might not work correctly.
Turning off auto-neg is something you need to do at both ends, and you
need to then force both ends to the same settings. Link down is
expected. I would actually be suppressed if no link down events were
reported.
Andrew
next prev parent reply other threads:[~2023-10-17 13:59 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-28 7:58 [PATCH net 0/6] There are some bugfix for the HNS3 ethernet driver Jijie Shao
2023-07-28 7:58 ` [PATCH net 1/6] net: hns3: fix side effects passed to min_t() Jijie Shao
2023-07-28 8:29 ` David Laight
2023-07-29 2:57 ` Jijie Shao
2023-07-28 7:58 ` [PATCH net 2/6] net: hns3: restore user pause configure when disable autoneg Jijie Shao
2023-07-28 8:05 ` kernel test robot
2023-07-28 7:58 ` [PATCH net 3/6] net: hns3: refactor hclge_mac_link_status_wait for interface reuse Jijie Shao
2023-07-28 7:58 ` [PATCH net 4/6] net: hns3: add wait until mac link down Jijie Shao
2023-07-28 7:58 ` [PATCH net 5/6] net: hns3: fix wrong print link down up Jijie Shao
2023-07-28 8:57 ` Andrew Lunn
2023-07-29 3:11 ` Jijie Shao
2023-07-29 7:57 ` Andrew Lunn
[not found] ` <ef5489f9-43b4-ee59-699b-3f54a30c00aa@huawei.com>
2023-07-29 18:23 ` Andrew Lunn
2023-07-31 9:10 ` Jijie Shao
2023-08-10 8:06 ` Jijie Shao
2023-10-17 13:03 ` Jijie Shao
2023-10-17 13:59 ` Andrew Lunn [this message]
2023-10-18 12:25 ` Jijie Shao
2023-07-28 7:58 ` [PATCH net 6/6] net: hns3: fix deadlock issue when externel_lb and reset are executed together Jijie Shao
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=06cd6f53-e0af-4bdf-a684-68fc55b9b436@lunn.ch \
--to=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liuyonglong@huawei.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=salil.mehta@huawei.com \
--cc=shaojijie@huawei.com \
--cc=shenjian15@huawei.com \
--cc=stable@vger.kernel.org \
--cc=wangjie125@huawei.com \
--cc=wangpeiyang1@huawei.com \
--cc=yisen.zhuang@huawei.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