On Mon, Apr 10, 2023 at 11:01?PM Cindy Lu <lulu at redhat.com>
wrote:>
> While using the no-batch mode, the process will not begin with
> VHOST_IOTLB_BATCH_BEGIN, so we need to add the
> VHOST_IOTLB_INVALIDATE to get vhost_vdpa_as, the process is the
> same as VHOST_IOTLB_UPDATE
>
> Signed-off-by: Cindy Lu <lulu at redhat.com>
> ---
> drivers/vhost/vdpa.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
> index 7be9d9d8f01c..32636a02a0ab 100644
> --- a/drivers/vhost/vdpa.c
> +++ b/drivers/vhost/vdpa.c
> @@ -1074,6 +1074,7 @@ static int vhost_vdpa_process_iotlb_msg(struct
vhost_dev *dev, u32 asid,
> goto unlock;
>
> if (msg->type == VHOST_IOTLB_UPDATE ||
> + msg->type == VHOST_IOTLB_INVALIDATE ||
I'm not sure I get here, invalidation doesn't need to create a new AS.
Or maybe you can post the userspace code that can trigger this issue?
Thanks
> msg->type == VHOST_IOTLB_BATCH_BEGIN) {
> as = vhost_vdpa_find_alloc_as(v, asid);
> if (!as) {
> --
> 2.34.3
>