virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>,
	Eugenio Perez Martin <eperezma@redhat.com>
Cc: qemu-devel <qemu-devel@nongnu.org>,
	virtualization <virtualization@lists.linux-foundation.org>,
	Eli Cohen <eli@mellanox.com>, Eric Blake <eblake@redhat.com>,
	Eduardo Habkost <ehabkost@redhat.com>, Cindy Lu <lulu@redhat.com>,
	"Fangyi \(Eric\)" <eric.fangyi@huawei.com>,
	Markus Armbruster <armbru@redhat.com>,
	yebiaoxiang@huawei.com, Liuxiangdong <liuxiangdong5@huawei.com>,
	Laurent Vivier <lvivier@redhat.com>,
	Parav Pandit <parav@mellanox.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Gautam Dawar <gdawar@xilinx.com>,
	Xiao W Wang <xiao.w.wang@intel.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Harpreet Singh Anand <hanand@xilinx.com>,
	Lingshan <lingshan.zhu@intel.com>
Subject: Re: [PATCH v5 00/15] vDPA shadow virtqueue
Date: Wed, 9 Mar 2022 11:38:35 +0800	[thread overview]
Message-ID: <56b837a6-c67d-5ffc-bd70-ba51d996a6c2@redhat.com> (raw)
In-Reply-To: <20220308071253-mutt-send-email-mst@kernel.org>


在 2022/3/8 下午8:16, Michael S. Tsirkin 写道:
> On Tue, Mar 08, 2022 at 12:37:33PM +0100, Eugenio Perez Martin wrote:
>> On Tue, Mar 8, 2022 at 11:48 AM Michael S. Tsirkin <mst@redhat.com> wrote:
>>> On Tue, Mar 08, 2022 at 04:20:53PM +0800, Jason Wang wrote:
>>>>> Not by itself but I'm not sure we can guarantee guest will not
>>>>> attempt to use the IOVA addresses we are reserving down
>>>>> the road.
>>>> The IOVA is allocated via the listeners and stored in the iova tree
>>>> per GPA range as IOVA->(GPA)->HVA.Guests will only see GPA, Qemu
>>>> virtio core see GPA to HVA mapping. And we do a reverse lookup to find
>>>> the HVA->IOVA we allocated previously.  So we have double check here:
>>>>
>>>> 1) Qemu memory core to make sure the GPA that guest uses is valid
>>>> 2) the IOVA tree that guarantees there will be no HVA beyond what
>>>> guest can see is used
>>>>
>>>> So technically, there's no way for the guest to use the IOVA address
>>>> allocated for the shadow virtqueue.
>>>>
>>>> Thanks
>>> I mean, IOVA is programmed in the host hardware to translate to HPA, right?
>>>
>> Yes, that's right if the device uses physical maps. Also to note, SVQ
>> vring is allocated in multiples of host huge pages to avoid garbage or
>> unintended access from the device.
>>
>> If a vdpa device uses physical addresses, kernel vdpa will pin qemu
>> memory first and then will send IOVA to HPA translation to hardware.
>> But this IOVA space is not controlled by the guest, but by SVQ. If a
>> guest's virtqueue buffer cannot be translated first to GPA, it will
>> not be forwarded.
>>
>> Thanks!
> Right. So if guests send a buffer where buffer address overlaps the
> range we used for the SVQ, then I think at the moment guest won't work.


There's no way for a guest to do this, it can only use GPA but the Qemu 
won't let vDPA to use GPA as IOVA. Dedicated IOVA ranges were allocated 
for those GPA ranges so SVQ won't use IOVA that is overlapped with what 
Guest use.

Thanks


>

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

  reply	other threads:[~2022-03-09  3:38 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20220307153334.3854134-1-eperezma@redhat.com>
2022-03-08  6:03 ` [PATCH v5 00/15] vDPA shadow virtqueue Jason Wang
2022-03-08  7:11   ` Michael S. Tsirkin
2022-03-08  7:14     ` Jason Wang
2022-03-08  7:27       ` Michael S. Tsirkin
2022-03-08  7:34         ` Jason Wang
2022-03-08  7:55           ` Michael S. Tsirkin
     [not found]             ` <CAJaqyWd4JKtxDAPqziZomKr3=H+f=jBEXgv3=Ju8vS6kqjjZkg@mail.gmail.com>
2022-03-08  8:19               ` Michael S. Tsirkin
2022-03-08  8:20             ` Jason Wang
2022-03-08 10:46               ` Michael S. Tsirkin
2022-03-08 13:23                 ` Jason Wang
2022-03-08 10:48               ` Michael S. Tsirkin
     [not found]                 ` <CAJaqyWcuitG+01pjO__tYERN9910fL_JGiHG88xU=fTG3KmpJw@mail.gmail.com>
2022-03-08 12:16                   ` Michael S. Tsirkin
2022-03-09  3:38                     ` Jason Wang [this message]
2022-03-09  7:30                       ` Michael S. Tsirkin
2022-03-09  7:45                         ` Jason Wang
     [not found] ` <20220307153334.3854134-16-eperezma@redhat.com>
2022-03-08  7:11   ` [PATCH v5 15/15] vdpa: Add x-svq to NetdevVhostVDPAOptions Michael S. Tsirkin
     [not found]     ` <CAJaqyWewPYVPDOYTgKs03-LyfMHWkE+OR6tBEQ25rZ3YZmTrsw@mail.gmail.com>
2022-03-08  8:02       ` Michael S. Tsirkin
     [not found]         ` <CAJaqyWeAxjOtvtAD2Ow2MUXQpaBUbP21=CZ4g-S0pPizq_Az-g@mail.gmail.com>
2022-03-08 12:31           ` Michael S. Tsirkin

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=56b837a6-c67d-5ffc-bd70-ba51d996a6c2@redhat.com \
    --to=jasowang@redhat.com \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=eli@mellanox.com \
    --cc=eperezma@redhat.com \
    --cc=eric.fangyi@huawei.com \
    --cc=gdawar@xilinx.com \
    --cc=hanand@xilinx.com \
    --cc=lingshan.zhu@intel.com \
    --cc=liuxiangdong5@huawei.com \
    --cc=lulu@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=mst@redhat.com \
    --cc=parav@mellanox.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=stefanha@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xiao.w.wang@intel.com \
    --cc=yebiaoxiang@huawei.com \
    /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).