From: Jim Harris <jim.harris@samsung.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Leon Romanovsky <leonro@nvidia.com>,
"Jason Gunthorpe" <jgg@nvidia.com>,
Alex Williamson <alex.williamson@redhat.com>
Subject: Re: [PATCH] pci/iov: fix kobject_uevent() ordering in sriov_enable()
Date: Fri, 15 Dec 2023 22:11:17 +0000 [thread overview]
Message-ID: <ZXzPBTZ2rK/CPy5o@ubuntu> (raw)
In-Reply-To: <20231213192652.GA1054534@bhelgaas>
On Wed, Dec 13, 2023 at 01:26:52PM -0600, Bjorn Helgaas wrote:
> On Wed, Dec 13, 2023 at 06:58:28PM +0000, Jim Harris wrote:
> > Wait to call kobject_uevent() until all of the associated changes are done,
> > including updating the num_VFs value.
>
> This seems right to me. Can we add a little rationale to the commit
> log? E.g., something about how num_VFs is visible to userspace via
> sysfs and we don't want a race between (a) userspace reading num_VFs
> because of KOBJ_CHANGE and (b) the kernel updating num_VFs? (If
> that's the actual reason.)
>
> If there's a problem report about this, include that reference as
> well.
There's a second patch that I haven't pushed yet that has more of the
rationale that led to this suggestion from Leon - see thread
"Locking between vfio hot-remove..." I'll push the two patches as a series.
The second patch will effectively revert 35ff867b7, since Leon felt the
reasoning behind that patch was incorrect. I'll tie all of that into the
cover letter.
-Jim
>
> > Suggested by: Leon Romanovsky <leonro@nvidia.com>
> > Signed-off-by: Jim Harris <jim.harris@samsung.com>
> > ---
> > drivers/pci/iov.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
> > index 25dbe85c4217..3b768e20c7ab 100644
> > --- a/drivers/pci/iov.c
> > +++ b/drivers/pci/iov.c
> > @@ -683,8 +683,8 @@ static int sriov_enable(struct pci_dev *dev, int nr_virtfn)
> > if (rc)
> > goto err_pcibios;
> >
> > - kobject_uevent(&dev->dev.kobj, KOBJ_CHANGE);
> > iov->num_VFs = nr_virtfn;
> > + kobject_uevent(&dev->dev.kobj, KOBJ_CHANGE);
> >
> > return 0;
> >
> >
prev parent reply other threads:[~2023-12-15 22:11 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20231213185829uscas1p2fc3ee6a9c92bff3cc9a043a9ff93bd27@uscas1p2.samsung.com>
2023-12-13 18:58 ` [PATCH] pci/iov: fix kobject_uevent() ordering in sriov_enable() Jim Harris
2023-12-13 19:26 ` Bjorn Helgaas
2023-12-15 22:11 ` Jim Harris [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=ZXzPBTZ2rK/CPy5o@ubuntu \
--to=jim.harris@samsung.com \
--cc=alex.williamson@redhat.com \
--cc=bhelgaas@google.com \
--cc=helgaas@kernel.org \
--cc=jgg@nvidia.com \
--cc=leonro@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
/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.