From: "Loftus, Ciara" <ciara.loftus@intel.com>
To: "Richardson, Bruce" <bruce.richardson@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
"Miskell, Timothy" <timothy.miskell@intel.com>,
"techboard@dpdk.org" <techboard@dpdk.org>
Subject: RE: [PATCH 1/2] net/iavf: support VF initiated resets
Date: Wed, 1 Oct 2025 08:37:52 +0000 [thread overview]
Message-ID: <DM3PPF7D18F34A105FE85AAA7D7387DDD838EE6A@DM3PPF7D18F34A1.namprd11.prod.outlook.com> (raw)
In-Reply-To: <aNudwFx7CPH3vWot@bricha3-mobl1.ger.corp.intel.com>
>
> On Mon, Sep 29, 2025 at 02:30:38PM +0000, Ciara Loftus wrote:
> > Introduce a function that allows a VF to request the PF to reset itself.
> > This is useful for example when the application detects that one of the
> > queues have hung or any event where a reset is required and the PF is
> > unlikely to trigger it.
> >
> > Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
> > Signed-off-by: Timothy Miskell <timothy.miskell@intel.com>
> > ---
> > drivers/net/intel/iavf/iavf.h | 2 ++
> > drivers/net/intel/iavf/iavf_ethdev.c | 5 ++++
> > drivers/net/intel/iavf/iavf_vchnl.c | 29 +++++++++++++++++++++++
> > drivers/net/intel/iavf/meson.build | 1 +
> > drivers/net/intel/iavf/rte_pmd_iavf.c | 33
> +++++++++++++++++++++++++++
> > drivers/net/intel/iavf/rte_pmd_iavf.h | 11 +++++++++
> > 6 files changed, 81 insertions(+)
> > create mode 100644 drivers/net/intel/iavf/rte_pmd_iavf.c
> >
> > diff --git a/drivers/net/intel/iavf/iavf.h b/drivers/net/intel/iavf/iavf.h
> > index 435902fbc2..6e7aec1bb1 100644
> > --- a/drivers/net/intel/iavf/iavf.h
> > +++ b/drivers/net/intel/iavf/iavf.h
> > @@ -565,4 +565,6 @@ void iavf_dev_watchdog_enable(struct
> iavf_adapter *adapter);
> > void iavf_dev_watchdog_disable(struct iavf_adapter *adapter);
> > void iavf_handle_hw_reset(struct rte_eth_dev *dev);
> > void iavf_set_no_poll(struct iavf_adapter *adapter, bool link_change);
> > +bool is_iavf_supported(struct rte_eth_dev *dev);
> > +int iavf_request_reset(struct rte_eth_dev *dev);
> > #endif /* _IAVF_ETHDEV_H_ */
>
> In general, I'm not a huge fan of adding driver-specific functions and I
> feel like this should fit under the existing reset APIs in some way. That
> should avoid the need to update (or such a big update) to testpmd, for
> example.
> Some thoughts here:
>
> 1. we could add a devarg to the driver to adjust whether reset does a
> "softer" reset of the VF just resetting itself, or a "hard" reset where the
> PF does a fuller reset of the VF.
> 2. rather than a devarg, would do use a driver-specific function to adjust
> this behaviour. The difference here would be that the driver-specific
> function would be an init-time one rather than runtime, so the runtime of
> the app, like testpmd, would be generic.
> 3. the most generic solution would be to add an additional parameter to the
> reset() function itself to specify a hard or soft reset. This would mean
> updating all drivers to handle the new parameter (shouldn't be hard, since
> it would be __rte_unused in all cases by default). This also opens up
> the possibility of other drivers - especially VFs - using it in the same
> way. We could actually document that the "hard" option "may be used by VF
> drivers to request a full reset of the VF by the PF".
Hi Bruce,
I did not make it clear in my commit messages the full purpose of this new API.
Along with resetting the VF, the VF is also reconfigured and restarted
transparently, using the existing iavf_handle_hw_reset implementation.
While there is probably merit in extending the reset API to include a soft/hard
reset flag, I would still need this new API to fulfil the purpose described above.
If we wanted to make this generic I see two options:
1. extend the reset API to optionally reconfigure and restart
2. introduce a new generic API that performs a reset followed by a reconfigure
and restart.
Thanks,
Ciara
>
> CC'ing techboard to get some wider opinions here, especially thoughts on
> option #3.
>
> /Bruce
prev parent reply other threads:[~2025-10-01 8:38 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-29 14:30 Ciara Loftus
2025-09-29 14:30 ` [PATCH 2/2] net/iavf: add reset VF command to testpmd Ciara Loftus
2025-09-30 9:07 ` [PATCH 1/2] net/iavf: support VF initiated resets Bruce Richardson
2025-09-30 12:30 ` Stephen Hemminger
2025-10-01 8:37 ` Loftus, Ciara [this message]
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=DM3PPF7D18F34A105FE85AAA7D7387DDD838EE6A@DM3PPF7D18F34A1.namprd11.prod.outlook.com \
--to=ciara.loftus@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=techboard@dpdk.org \
--cc=timothy.miskell@intel.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).