All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Pirko <jiri@resnulli.us>
To: Wojciech Drewek <wojciech.drewek@intel.com>
Cc: bcreeley@amd.com, netdev@vger.kernel.org,
	intel-wired-lan@lists.osuosl.org, paul.m.stillwell.jr@intel.com,
	przemyslaw.kitszel@intel.com, vadim.fedorenko@linux.dev
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v4] ice: Remove and readd netdev during devlink reload
Date: Tue, 30 Jan 2024 12:36:13 +0100	[thread overview]
Message-ID: <ZbjfLTeXRA3-UzDW@nanopsycho> (raw)
In-Reply-To: <20240130103101.88175-1-wojciech.drewek@intel.com>

Tue, Jan 30, 2024 at 11:31:01AM CET, wojciech.drewek@intel.com wrote:
>Recent changes to the devlink reload (commit 9b2348e2d6c9
>("devlink: warn about existing entities during reload-reinit"))
>force the drivers to destroy devlink ports during reinit.
>Adjust ice driver to this requirement, unregister netdvice, destroy

s/netdvice/netdevice/

>devlink port. ice_init_eth() was removed and all the common code
>between probe and reload was moved to ice_load().
>
>During devlink reload we can't take devl_lock (it's already taken)
>and in ice_probe() we have to lock it. Use devl_* variant of the API
>which does not acquire and release devl_lock. Guard ice_load()
>with devl_lock only in case of probe.
>
>Introduce ice_debugfs_pf_deinit() in order to release PF's
>debugfs entries. Move ice_debugfs_exit() call to ice_module_exit().

Sounds something like 3 patches to me :)


>
>Suggested-by: Jiri Pirko <jiri@nvidia.com>
>Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
>Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
>Reviewed-by: Simon Horman <horms@kernel.org>
>Reviewed-by: Brett Creeley <brett.creeley@amd.com>
>Signed-off-by: Wojciech Drewek <wojciech.drewek@intel.com>
>---
>v2: empty init removed in ice_devlink_reinit_up
>v3: refactor locking pattern as Brett suggested
>v4: fix wrong function name in commit message
>---
> drivers/net/ethernet/intel/ice/ice.h         |   3 +
> drivers/net/ethernet/intel/ice/ice_debugfs.c |  10 +
> drivers/net/ethernet/intel/ice/ice_devlink.c |  68 ++++++-
> drivers/net/ethernet/intel/ice/ice_fwlog.c   |   2 +
> drivers/net/ethernet/intel/ice/ice_main.c    | 189 ++++++-------------

Yeah. Would be better to split. But up to you.

WARNING: multiple messages have this Message-ID (diff)
From: Jiri Pirko <jiri@resnulli.us>
To: Wojciech Drewek <wojciech.drewek@intel.com>
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
	przemyslaw.kitszel@intel.com, vadim.fedorenko@linux.dev,
	paul.m.stillwell.jr@intel.com, bcreeley@amd.com
Subject: Re: [PATCH iwl-next v4] ice: Remove and readd netdev during devlink reload
Date: Tue, 30 Jan 2024 12:36:13 +0100	[thread overview]
Message-ID: <ZbjfLTeXRA3-UzDW@nanopsycho> (raw)
In-Reply-To: <20240130103101.88175-1-wojciech.drewek@intel.com>

Tue, Jan 30, 2024 at 11:31:01AM CET, wojciech.drewek@intel.com wrote:
>Recent changes to the devlink reload (commit 9b2348e2d6c9
>("devlink: warn about existing entities during reload-reinit"))
>force the drivers to destroy devlink ports during reinit.
>Adjust ice driver to this requirement, unregister netdvice, destroy

s/netdvice/netdevice/

>devlink port. ice_init_eth() was removed and all the common code
>between probe and reload was moved to ice_load().
>
>During devlink reload we can't take devl_lock (it's already taken)
>and in ice_probe() we have to lock it. Use devl_* variant of the API
>which does not acquire and release devl_lock. Guard ice_load()
>with devl_lock only in case of probe.
>
>Introduce ice_debugfs_pf_deinit() in order to release PF's
>debugfs entries. Move ice_debugfs_exit() call to ice_module_exit().

Sounds something like 3 patches to me :)


>
>Suggested-by: Jiri Pirko <jiri@nvidia.com>
>Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
>Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
>Reviewed-by: Simon Horman <horms@kernel.org>
>Reviewed-by: Brett Creeley <brett.creeley@amd.com>
>Signed-off-by: Wojciech Drewek <wojciech.drewek@intel.com>
>---
>v2: empty init removed in ice_devlink_reinit_up
>v3: refactor locking pattern as Brett suggested
>v4: fix wrong function name in commit message
>---
> drivers/net/ethernet/intel/ice/ice.h         |   3 +
> drivers/net/ethernet/intel/ice/ice_debugfs.c |  10 +
> drivers/net/ethernet/intel/ice/ice_devlink.c |  68 ++++++-
> drivers/net/ethernet/intel/ice/ice_fwlog.c   |   2 +
> drivers/net/ethernet/intel/ice/ice_main.c    | 189 ++++++-------------

Yeah. Would be better to split. But up to you.

  reply	other threads:[~2024-01-30 11:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-30 10:31 [Intel-wired-lan] [PATCH iwl-next v4] ice: Remove and readd netdev during devlink reload Wojciech Drewek
2024-01-30 10:31 ` Wojciech Drewek
2024-01-30 11:36 ` Jiri Pirko [this message]
2024-01-30 11:36   ` Jiri Pirko
2024-01-30 12:32   ` [Intel-wired-lan] " Wojciech Drewek
2024-01-30 12:32     ` Wojciech Drewek

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=ZbjfLTeXRA3-UzDW@nanopsycho \
    --to=jiri@resnulli.us \
    --cc=bcreeley@amd.com \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=netdev@vger.kernel.org \
    --cc=paul.m.stillwell.jr@intel.com \
    --cc=przemyslaw.kitszel@intel.com \
    --cc=vadim.fedorenko@linux.dev \
    --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.