[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240103153405.6b19492a@kernel.org>
Date: Wed, 3 Jan 2024 15:34:05 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Stanislaw Gruszka <stanislaw.gruszka@...ux.intel.com>
Cc: Johannes Berg <johannes@...solutions.net>, netdev@...r.kernel.org,
Heiner Kallweit <hkallweit1@...il.com>, Johannes Berg
<johannes.berg@...el.com>, Marc MERLIN <marc@...lins.org>, Przemek Kitszel
<przemyslaw.kitszel@...el.com>
Subject: Re: [PATCH net v3] net: ethtool: do runtime PM outside RTNL
On Wed, 3 Jan 2024 11:30:17 +0100 Stanislaw Gruszka wrote:
> > I was really, really hoping that this would serve as a motivation
> > for Intel to sort out the igb/igc implementation. The flow AFAICT
> > is ndo_open() starts the NIC, the calls pm_sus, which shuts the NIC
> > back down immediately (!?) then it schedules a link check from a work
>
> It's not like that. pm_runtime_put() in igc_open() does not disable device.
> It calls runtime_idle callback which check if there is link and if is
> not, schedule device suspend in 5 second, otherwise device stays running.
Hm, I missed the 5 sec delay there. Next question for me is - how does
it not deadlock in the open?
igc_open()
__igc_open(resuming=false)
if (!resuming)
pm_runtime_get_sync(&pdev->dev);
igc_resume()
rtnl_lock()
Powered by blists - more mailing lists