All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Keller, Jacob E" <jacob.e.keller@intel.com>
To: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>,
	Jiri Pirko <jiri@resnulli.us>
Cc: "shayd@nvidia.com" <shayd@nvidia.com>,
	"Fijalkowski, Maciej" <maciej.fijalkowski@intel.com>,
	"Samudrala, Sridhar" <sridhar.samudrala@intel.com>,
	"Polchlopek,  Mateusz" <mateusz.polchlopek@intel.com>,
	"Kitszel, Przemyslaw" <przemyslaw.kitszel@intel.com>,
	"jiri@nvidia.com" <jiri@nvidia.com>,
	"Kubiak, Michal" <michal.kubiak@intel.com>,
	"intel-wired-lan@lists.osuosl.org"
	<intel-wired-lan@lists.osuosl.org>,
	"pio.raczynski@gmail.com" <pio.raczynski@gmail.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"Drewek, Wojciech" <wojciech.drewek@intel.com>
Subject: Re: [Intel-wired-lan] [iwl-next v2 03/15] ice: add basic devlink subfunctions support
Date: Mon, 13 May 2024 21:40:28 +0000	[thread overview]
Message-ID: <CO1PR11MB5089141F2033C021639AF8BFD6E22@CO1PR11MB5089.namprd11.prod.outlook.com> (raw)
In-Reply-To: <ZkH9DurNJ/OFDvT/@mev-dev>



> -----Original Message-----
> From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> Sent: Monday, May 13, 2024 4:44 AM
> To: Jiri Pirko <jiri@resnulli.us>
> Cc: intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; Keller, Jacob E
> <jacob.e.keller@intel.com>; Kubiak, Michal <michal.kubiak@intel.com>;
> Fijalkowski, Maciej <maciej.fijalkowski@intel.com>; Samudrala, Sridhar
> <sridhar.samudrala@intel.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@intel.com>; Drewek, Wojciech
> <wojciech.drewek@intel.com>; pio.raczynski@gmail.com; jiri@nvidia.com;
> Polchlopek, Mateusz <mateusz.polchlopek@intel.com>; shayd@nvidia.com
> Subject: Re: [iwl-next v2 03/15] ice: add basic devlink subfunctions support
> 
> On Mon, May 13, 2024 at 01:04:23PM +0200, Jiri Pirko wrote:
> > Mon, May 13, 2024 at 10:37:23AM CEST, michal.swiatkowski@linux.intel.com
> wrote:
> >
> > [...]
> >
> >
> >
> > >+int ice_devlink_create_sf_port(struct ice_dynamic_port *dyn_port)
> > >+{
> > >+	struct devlink_port_attrs attrs = {};
> > >+	struct devlink_port *devlink_port;
> > >+	struct devlink *devlink;
> > >+	struct ice_vsi *vsi;
> > >+	struct device *dev;
> > >+	struct ice_pf *pf;
> > >+	int err;
> > >+
> > >+	vsi = dyn_port->vsi;
> > >+	pf = dyn_port->pf;
> > >+	dev = ice_pf_to_dev(pf);
> > >+
> > >+	devlink_port = &dyn_port->devlink_port;
> > >+
> > >+	attrs.flavour = DEVLINK_PORT_FLAVOUR_PCI_SF;
> > >+	attrs.pci_sf.pf = pf->hw.bus.func;
> > >+	attrs.pci_sf.sf = dyn_port->sfnum;
> > >+
> > >+	devlink_port_attrs_set(devlink_port, &attrs);
> > >+	devlink = priv_to_devlink(pf);
> > >+
> > >+	err = devl_port_register_with_ops(devlink, devlink_port, vsi->idx,
> > >+					  &ice_devlink_port_sf_ops);
> > >+	if (err) {
> > >+		dev_err(dev, "Failed to create devlink port for Subfunction %d",
> > >+			vsi->idx);
> >
> > Either use extack or avoid this error message entirely. Could you please
> > double you don't write dmesg error messages in case you have extack
> > available in the rest of this patchset?
> >
> >
> 
> Sure, I can avoid, as this is called from port representor creeation
> function. I don't want to pass extack there (code is generic for VF and
> SF, and VF call doesn't have extack).

You can also pass an extack of NULL for flows which lack the extack, since all the extack functions are NULL-safe. Of course this does mean that you would end up with no error message logged in the VF case...

> 
> We have this pattern in few place in code (using dev_err even extack can
> be passed). Is it recommended to pass extact to all functions
> which probably want to write some message in case of error (assuming the
> call context has the extack)?
> 


Generally, yes. Extended ACK messages return and get logged on the command line of the application that issued the netlink message. This is significantly more visible than a log message from the driver.

WARNING: multiple messages have this Message-ID (diff)
From: "Keller, Jacob E" <jacob.e.keller@intel.com>
To: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>,
	Jiri Pirko <jiri@resnulli.us>
Cc: "intel-wired-lan@lists.osuosl.org"
	<intel-wired-lan@lists.osuosl.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"Kubiak, Michal" <michal.kubiak@intel.com>,
	"Fijalkowski, Maciej" <maciej.fijalkowski@intel.com>,
	"Samudrala, Sridhar" <sridhar.samudrala@intel.com>,
	"Kitszel, Przemyslaw" <przemyslaw.kitszel@intel.com>,
	"Drewek, Wojciech" <wojciech.drewek@intel.com>,
	"pio.raczynski@gmail.com" <pio.raczynski@gmail.com>,
	"jiri@nvidia.com" <jiri@nvidia.com>,
	"Polchlopek, Mateusz" <mateusz.polchlopek@intel.com>,
	"shayd@nvidia.com" <shayd@nvidia.com>
Subject: RE: [iwl-next v2 03/15] ice: add basic devlink subfunctions support
Date: Mon, 13 May 2024 21:40:28 +0000	[thread overview]
Message-ID: <CO1PR11MB5089141F2033C021639AF8BFD6E22@CO1PR11MB5089.namprd11.prod.outlook.com> (raw)
In-Reply-To: <ZkH9DurNJ/OFDvT/@mev-dev>



> -----Original Message-----
> From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> Sent: Monday, May 13, 2024 4:44 AM
> To: Jiri Pirko <jiri@resnulli.us>
> Cc: intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; Keller, Jacob E
> <jacob.e.keller@intel.com>; Kubiak, Michal <michal.kubiak@intel.com>;
> Fijalkowski, Maciej <maciej.fijalkowski@intel.com>; Samudrala, Sridhar
> <sridhar.samudrala@intel.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@intel.com>; Drewek, Wojciech
> <wojciech.drewek@intel.com>; pio.raczynski@gmail.com; jiri@nvidia.com;
> Polchlopek, Mateusz <mateusz.polchlopek@intel.com>; shayd@nvidia.com
> Subject: Re: [iwl-next v2 03/15] ice: add basic devlink subfunctions support
> 
> On Mon, May 13, 2024 at 01:04:23PM +0200, Jiri Pirko wrote:
> > Mon, May 13, 2024 at 10:37:23AM CEST, michal.swiatkowski@linux.intel.com
> wrote:
> >
> > [...]
> >
> >
> >
> > >+int ice_devlink_create_sf_port(struct ice_dynamic_port *dyn_port)
> > >+{
> > >+	struct devlink_port_attrs attrs = {};
> > >+	struct devlink_port *devlink_port;
> > >+	struct devlink *devlink;
> > >+	struct ice_vsi *vsi;
> > >+	struct device *dev;
> > >+	struct ice_pf *pf;
> > >+	int err;
> > >+
> > >+	vsi = dyn_port->vsi;
> > >+	pf = dyn_port->pf;
> > >+	dev = ice_pf_to_dev(pf);
> > >+
> > >+	devlink_port = &dyn_port->devlink_port;
> > >+
> > >+	attrs.flavour = DEVLINK_PORT_FLAVOUR_PCI_SF;
> > >+	attrs.pci_sf.pf = pf->hw.bus.func;
> > >+	attrs.pci_sf.sf = dyn_port->sfnum;
> > >+
> > >+	devlink_port_attrs_set(devlink_port, &attrs);
> > >+	devlink = priv_to_devlink(pf);
> > >+
> > >+	err = devl_port_register_with_ops(devlink, devlink_port, vsi->idx,
> > >+					  &ice_devlink_port_sf_ops);
> > >+	if (err) {
> > >+		dev_err(dev, "Failed to create devlink port for Subfunction %d",
> > >+			vsi->idx);
> >
> > Either use extack or avoid this error message entirely. Could you please
> > double you don't write dmesg error messages in case you have extack
> > available in the rest of this patchset?
> >
> >
> 
> Sure, I can avoid, as this is called from port representor creeation
> function. I don't want to pass extack there (code is generic for VF and
> SF, and VF call doesn't have extack).

You can also pass an extack of NULL for flows which lack the extack, since all the extack functions are NULL-safe. Of course this does mean that you would end up with no error message logged in the VF case...

> 
> We have this pattern in few place in code (using dev_err even extack can
> be passed). Is it recommended to pass extact to all functions
> which probably want to write some message in case of error (assuming the
> call context has the extack)?
> 


Generally, yes. Extended ACK messages return and get logged on the command line of the application that issued the netlink message. This is significantly more visible than a log message from the driver.

  reply	other threads:[~2024-05-13 21:40 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-13  8:37 [iwl-next v2 00/15] ice: support devlink subfunction Michal Swiatkowski
2024-05-13  8:37 ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 01/15] ice: add new VSI type for subfunctions Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 02/15] ice: export ice ndo_ops functions Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 03/15] ice: add basic devlink subfunctions support Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13 11:04   ` Jiri Pirko
2024-05-13 11:04     ` [Intel-wired-lan] " Jiri Pirko
2024-05-13 11:44     ` Michal Swiatkowski
2024-05-13 11:44       ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13 21:40       ` Keller, Jacob E [this message]
2024-05-13 21:40         ` Keller, Jacob E
2024-05-14  8:09       ` [Intel-wired-lan] " Jiri Pirko
2024-05-14  8:09         ` Jiri Pirko
2024-05-13 16:05   ` [Intel-wired-lan] " Simon Horman
2024-05-13 16:05     ` Simon Horman
2024-05-14  6:27     ` Michal Swiatkowski
2024-05-14  6:27       ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 04/15] ice: treat subfunction VSI the same as PF VSI Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 05/15] ice: allocate devlink for subfunction Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  9:25   ` Kalesh Anakkur Purayil
2024-05-13  9:25     ` [Intel-wired-lan] " Kalesh Anakkur Purayil
2024-05-13 10:22     ` Michal Swiatkowski
2024-05-13 10:22       ` Michal Swiatkowski
2024-05-13 12:01       ` Kalesh Anakkur Purayil
2024-05-13 12:01         ` Kalesh Anakkur Purayil
2024-05-13 21:37       ` Keller, Jacob E
2024-05-13 21:37         ` Keller, Jacob E
2024-05-14  6:36         ` Przemek Kitszel
2024-05-14  6:36           ` Przemek Kitszel
2024-05-13  8:37 ` [iwl-next v2 06/15] ice: base subfunction aux driver Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 07/15] ice: implement netdev for subfunction Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 08/15] ice: make reprresentor code generic Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13 16:09   ` Simon Horman
2024-05-13 16:09     ` [Intel-wired-lan] " Simon Horman
2024-05-14  6:27     ` Michal Swiatkowski
2024-05-14  6:27       ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 09/15] ice: create port representor for SF Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 10/15] ice: don't set target VSI for subfunction Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 11/15] ice: check if SF is ready in ethtool ops Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 12/15] ice: implement netdevice ops for SF representor Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 13/15] ice: support subfunction devlink Tx topology Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 14/15] ice: basic support for VLAN in subfunctions Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13  8:37 ` [iwl-next v2 15/15] ice: allow to activate and deactivate subfunction Michal Swiatkowski
2024-05-13  8:37   ` [Intel-wired-lan] " Michal Swiatkowski

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=CO1PR11MB5089141F2033C021639AF8BFD6E22@CO1PR11MB5089.namprd11.prod.outlook.com \
    --to=jacob.e.keller@intel.com \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=jiri@nvidia.com \
    --cc=jiri@resnulli.us \
    --cc=maciej.fijalkowski@intel.com \
    --cc=mateusz.polchlopek@intel.com \
    --cc=michal.kubiak@intel.com \
    --cc=michal.swiatkowski@linux.intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=pio.raczynski@gmail.com \
    --cc=przemyslaw.kitszel@intel.com \
    --cc=shayd@nvidia.com \
    --cc=sridhar.samudrala@intel.com \
    --cc=wojciech.drewek@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 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.