netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eli Cohen <elic@nvidia.com>
To: Jason Wang <jasowang@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Cindy Lu <lulu@redhat.com>,
	<virtualization@lists.linux-foundation.org>,
	netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH v2] vdpa/mlx5: Setup driver only if VIRTIO_CONFIG_S_DRIVER_OK
Date: Wed, 9 Sep 2020 08:30:45 +0300	[thread overview]
Message-ID: <20200909053045.GB200399@mtl-vdi-166.wap.labs.mlnx> (raw)
In-Reply-To: <1004346338.16284947.1599617319808.JavaMail.zimbra@redhat.com>

On Tue, Sep 08, 2020 at 10:08:39PM -0400, Jason Wang wrote:
> 
> 
> ----- Original Message -----
> > set_map() is used by mlx5 vdpa to create a memory region based on the
> > address map passed by the iotlb argument. If we get successive calls, we
> > will destroy the current memory region and build another one based on
> > the new address mapping. We also need to setup the hardware resources
> > since they depend on the memory region.
> > 
> > If these calls happen before DRIVER_OK, It means that driver VQs may
> > also not been setup and we may not create them yet. In this case we want
> > to avoid setting up the other resources and defer this till we get
> > DRIVER OK.
> > 
> > Fixes: 1a86b377aa21 ("vdpa/mlx5: Add VDPA driver for supported mlx5 devices")
> > Signed-off-by: Eli Cohen <elic@nvidia.com>
> > ---
> > V1->V2: Improve changelog description
> > 
> >  drivers/vdpa/mlx5/net/mlx5_vnet.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > index 9df69d5efe8c..c89cd48a0aab 100644
> > --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > @@ -1645,6 +1645,9 @@ static int mlx5_vdpa_change_map(struct mlx5_vdpa_net
> > *ndev, struct vhost_iotlb *
> >  	if (err)
> >  		goto err_mr;
> >  
> > +	if (!(ndev->mvdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
> > +		return 0;
> > +
> 
> Is there any reason that we still need to do vq suspending and saving before?
> 
Though suspend_vqs() and save_channels_info() will be called, they will
not actually do any work because the mvq->initialized is false.

Since we don't expect so many false map updates I think it makes sense
to avoid logic around the calls suspend_vqs() and save_channels_info().

> Thanks
> 
> >  	restore_channels_info(ndev);
> >  	err = setup_driver(ndev);
> >  	if (err)
> > --
> > 2.26.0
> > 
> > 
> 

  reply	other threads:[~2020-09-09  5:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-08 12:33 [PATCH v2] vdpa/mlx5: Setup driver only if VIRTIO_CONFIG_S_DRIVER_OK Eli Cohen
2020-09-09  2:08 ` Jason Wang
2020-09-09  5:30   ` Eli Cohen [this message]
2020-10-13  5:37     ` Jason Wang

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=20200909053045.GB200399@mtl-vdi-166.wap.labs.mlnx \
    --to=elic@nvidia.com \
    --cc=jasowang@redhat.com \
    --cc=lulu@redhat.com \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=virtualization@lists.linux-foundation.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;
as well as URLs for NNTP newsgroup(s).