[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZZeOGTv0B1i8hkSB@kbusch-mbp>
Date: Thu, 4 Jan 2024 22:05:29 -0700
From: Keith Busch <kbusch@...nel.org>
To: Christoph Hellwig <hch@....de>
Cc: Daniel Wagner <dwagner@...e.de>, linux-nvme@...ts.infradead.org,
linux-kernel@...r.kernel.org, Sagi Grimberg <sagi@...mberg.me>,
James Smart <james.smart@...adcom.com>,
Hannes Reinecke <hare@...e.de>
Subject: Re: [PATCH v3 06/16] nvme-fc: Do not wait in vain when unloading
module
On Tue, Dec 19, 2023 at 05:35:14AM +0100, Christoph Hellwig wrote:
> On Mon, Dec 18, 2023 at 04:30:54PM +0100, Daniel Wagner wrote:
> > The module unload code will wait for a controller to be delete even when
> > there is no controller and we wait for completion forever to happen.
> > Thus only wait for the completion when there is a controller which
> > needs to be removed.
>
> This whole code looks fishy to me, and I suspect this patch only papers
> over it. Why do we this wait to start with? If we've found that out and
> documented it, the code really should be using a wait_event variant that
> checks for the actual condition (no more controllers), because without
> that you might still have a race otherwise.
The synchronization here does feel off, but Daniel's change looks
correct to the current implementation and is a minimal diff to fix it.
Do you want to see this re-worked with a better wait condition or can we
proceed with this?
Powered by blists - more mailing lists