From: Jakub Kicinski <kuba@kernel.org>
To: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Cc: Jiri Pirko <jiri@resnulli.us>, David Miller <davem@davemloft.net>,
Netdev <netdev@vger.kernel.org>, Jiri Pirko <jiri@mellanox.com>,
Michael Chan <michael.chan@broadcom.com>
Subject: Re: [PATCH v2 net-next 1/4] devlink: Add new "allow_fw_live_reset" generic device parameter.
Date: Wed, 27 May 2020 13:14:01 -0700 [thread overview]
Message-ID: <20200527131401.2e269ab8@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net> (raw)
In-Reply-To: <CAACQVJqTc9s2KwUCEvGLfG3fh7kKj3-KmpeRgZMWM76S-474+w@mail.gmail.com>
On Wed, 27 May 2020 09:07:09 +0530 Vasundhara Volam wrote:
> Here is a sample sequence of commands to do a "live reset" to get some
> clear idea.
> Note that I am providing the examples based on the current patchset.
>
> 1. FW live reset is disabled in the device/adapter. Here adapter has 2
> physical ports.
>
> $ devlink dev
> pci/0000:3b:00.0
> pci/0000:3b:00.1
> pci/0000:af:00.0
> $ devlink dev param show pci/0000:3b:00.0 name allow_fw_live_reset
> pci/0000:3b:00.0:
> name allow_fw_live_reset type generic
> values:
> cmode runtime value false
> cmode permanent value false
> $ devlink dev param show pci/0000:3b:00.1 name allow_fw_live_reset
> pci/0000:3b:00.1:
> name allow_fw_live_reset type generic
> values:
> cmode runtime value false
> cmode permanent value false
What's the permanent value? What if after reboot the driver is too old
to change this, is the reset still allowed?
> 2. If a user issues "ethtool --reset p1p1 all", the device cannot
> perform "live reset" as capability is not enabled.
>
> User needs to do a driver reload, for firmware to undergo reset.
Why does driver reload have anything to do with resetting a potentially
MH device?
> $ ethtool --reset p1p1 all
Reset probably needs to be done via devlink. In any case you need a new
reset level for resetting MH devices and smartnics, because the current
reset mask covers port local, and host local cases, not any form of MH.
> ETHTOOL_RESET 0xffffffff
> Components reset: 0xff0000
> Components not reset: 0xff00ffff
> $ dmesg
> [ 198.745822] bnxt_en 0000:3b:00.0 p1p1: Firmware reset request successful.
> [ 198.745836] bnxt_en 0000:3b:00.0 p1p1: Reload driver to complete reset
You said the reset was not performed, yet there is no information to
that effect in the log?!
> 3. Now enable the capability in the device and reboot for device to
> enable the capability. Firmware does not get reset just by setting the
> param to true.
>
> $ devlink dev param set pci/0000:3b:00.1 name allow_fw_live_reset
> value true cmode permanent
>
> 4. After reboot, values of param.
Is the reboot required here?
> $ devlink dev param show pci/0000:3b:00.1 name allow_fw_live_reset
> pci/0000:3b:00.1:
> name allow_fw_live_reset type generic
> values:
> cmode runtime value true
Why is runtime value true now?
> cmode permanent value true
> $ devlink dev param show pci/0000:3b:00.0 name allow_fw_live_reset
> pci/0000:3b:00.0:
> name allow_fw_live_reset type generic
> values:
> cmode runtime value true
> cmode permanent value true
>
> 5. Now issue the "ethtool --reset p1p1 all" and device will undergo
> the "live reset". Reloading the driver is not required.
>
> $ ethtool --reset p1p1 all
> ETHTOOL_RESET 0xffffffff
> Components reset: 0xff0000
> Components not reset: 0xff00ffff
> $ dmesg
> [ 117.432013] bnxt_en 0000:3b:00.0 p1p1: Firmware non-fatal reset
> event received, max wait time 4200 msec
> [ 117.432015] bnxt_en 0000:3b:00.0 p1p1: Firmware reset request successful.
> [ 117.432032] bnxt_en 0000:3b:00.1 p1p2: Firmware non-fatal reset
> event received, max wait time 4200 msec
> $ devlink health show pci/0000:3b:00.0 reporter fw_reset
> pci/0000:3b:00.0:
> reporter fw_reset
> state healthy error 1 recover 1 grace_period 0 auto_recover true
>
> 6. If one of the host/PF turns off runtime param to false, "ethtool
> --reset p1p1 all" behaves similar to step 2, until it turns it back
> on.
>
> $ devlink dev param set pci/0000:3b:00.1 name allow_fw_live_reset
> value false cmode runtime
> $ ethtool --reset p1p1 all
> ETHTOOL_RESET 0xffffffff
> Components reset: 0xff0000
> Components not reset: 0xff00ffff
> $ dmesg
> [ 327.610814] bnxt_en 0000:3b:00.0 p1p1: Firmware reset request successful.
> [ 327.610828] bnxt_en 0000:3b:00.0 p1p1: Reload driver to complete reset
next prev parent reply other threads:[~2020-05-27 20:14 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-23 6:08 [PATCH v2 net-next 0/4] bnxt_en: Add new "allow_fw_live_reset" generic devlink parameter Vasundhara Volam
2020-05-23 6:08 ` [PATCH v2 net-next 1/4] devlink: Add new "allow_fw_live_reset" generic device parameter Vasundhara Volam
2020-05-24 4:53 ` Jiri Pirko
2020-05-24 6:29 ` Vasundhara Volam
2020-05-25 17:26 ` Jiri Pirko
2020-05-26 4:28 ` Vasundhara Volam
2020-05-26 4:47 ` Jiri Pirko
2020-05-26 6:42 ` Vasundhara Volam
2020-05-26 13:40 ` Jiri Pirko
2020-05-26 14:23 ` Vasundhara Volam
2020-05-27 3:37 ` Vasundhara Volam
2020-05-27 20:14 ` Jakub Kicinski [this message]
2020-05-27 20:57 ` Michael Chan
2020-05-27 21:16 ` Jakub Kicinski
2020-05-28 1:50 ` Vasundhara Volam
2020-05-28 19:05 ` Jakub Kicinski
2020-05-29 14:29 ` Vasundhara Volam
2020-06-01 6:40 ` Jiri Pirko
2020-06-01 6:39 ` Jiri Pirko
2020-06-01 8:50 ` Vasundhara Volam
2020-06-01 9:49 ` Jiri Pirko
2020-06-01 9:57 ` Vasundhara Volam
2020-06-01 10:05 ` Jiri Pirko
2020-06-01 21:44 ` Jakub Kicinski
2020-06-02 6:28 ` Jiri Pirko
2020-06-01 7:18 ` Jiri Pirko
2020-06-01 8:53 ` Vasundhara Volam
2020-06-01 9:50 ` Jiri Pirko
2020-06-01 9:59 ` Vasundhara Volam
2020-06-01 10:05 ` Jiri Pirko
2020-05-23 6:08 ` [PATCH v2 net-next 2/4] bnxt_en: Update firmware spec. to 1.10.1.40 Vasundhara Volam
2020-05-23 6:08 ` [PATCH v2 net-next 3/4] bnxt_en: Use allow_fw_live_reset generic devlink parameter Vasundhara Volam
2020-05-23 6:08 ` [PATCH v2 net-next 4/4] bnxt_en: Check if fw_live_reset is allowed before doing ETHTOOL_RESET Vasundhara Volam
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=20200527131401.2e269ab8@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net \
--to=kuba@kernel.org \
--cc=davem@davemloft.net \
--cc=jiri@mellanox.com \
--cc=jiri@resnulli.us \
--cc=michael.chan@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=vasundhara-v.volam@broadcom.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;
as well as URLs for NNTP newsgroup(s).