public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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;
> >  
> > 

      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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox