From: "Zhu, Lingshan" <lingshan.zhu@intel.com>
To: Parav Pandit <parav@nvidia.com>,
"virtio-dev@lists.oasis-open.org"
<virtio-dev@lists.oasis-open.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
Jason Wang <jasowang@redhat.com>
Subject: Re: [virtio-dev] Re: [PATCH 0/5] virtio: introduce SUSPEND bit and vq state
Date: Mon, 18 Sep 2023 13:25:06 +0800 [thread overview]
Message-ID: <213a0f94-cee2-d8c5-3c5d-d2d7fc920e75@intel.com> (raw)
In-Reply-To: <67680965-b115-32c7-dfdf-c56ab37bdd81@intel.com>
CC MST and Jason
On 9/18/2023 1:21 PM, Zhu, Lingshan wrote:
>
>
> On 9/18/2023 12:32 PM, Parav Pandit wrote:
>>
>>> From: Zhu, Lingshan <lingshan.zhu@intel.com>
>>> Sent: Monday, September 18, 2023 8:40 AM
>>>
>>> On 9/17/2023 1:32 PM, Parav Pandit wrote:
>>>>> From: virtio-dev@lists.oasis-open.org
>>>>> <virtio-dev@lists.oasis-open.org> On Behalf Of Zhu, Lingshan
>>>>> Sent: Friday, September 15, 2023 9:59 AM
>>>>>
>>>>> On 9/14/2023 7:14 PM, Michael S. Tsirkin wrote:
>>>>>> On Wed, Sep 06, 2023 at 04:16:32PM +0800, Zhu Lingshan wrote:
>>>>>>> This series introduces
>>>>>>> 1)a new SUSPEND bit in the device status Which is used to suspend
>>>>>>> the device, so that the device states and virtqueue states are
>>>>>>> stabilized.
>>>>>>>
>>>>>>> 2)virtqueue state and its accessor, to get and set last_avail_idx
>>>>>>> and last_used_idx of virtqueues.
>>>>>>>
>>>>>>> The main usecase of these new facilities is Live Migration.
>>>>>>>
>>>>>>> Future work: dirty page tracking and in-flight descriptors.
>>>>>>> This series addresses many comments from Jason, Stefan and Eugenio
>>>>>>> from RFC series.
>>>>>> Compared to Parav's patchset this is much less functional.
>>>>> we will add dirty page tracking and in-flight IO tracker in V2, then
>>>>> it will be a full featured LM solution.
>>>>>
>>>>> They are not in this series because we want this series to be
>>>>> small and focus.
>>>>>> Assuming that one goes in, can't we add ability to submit admin
>>>>>> commands through MMIO on the device itself and be done with it?
>>>>> I am not sure, IMHO, if we use admin vq as back-ends for MMIO based
>>>>> live migration, then the issues in admin vq still exist, for example:
>>>>> 1)nested virtualization
>>>>> 2)bare-metal live migration
>>>>> 3)QOS
>>>>> 4)introduce more attacking surfaces.
>>>>>
>>>> #4 is just random without.
>>> I failed to process "random without".
>>>
>>> If you expect admin vq to perform live migration, it can certainly
>>> be a side
>>> channel attacking surface, for example:
>>> a) a malicious SW can stop the device running
>>> b) a malicious SW can sniff guest memory by tracking guest dirty
>>> pages, then
>>> speculate guest operations and stole secrets.
>> This is the mode when hypervisor is trusted.
> PF is not always owned by the hypervisor, right?
> And you don't pass-through the PF to any guests, right?
>> When hypervisor is untrusted, the CC model TDISP enabled device, TSM
>> will delegate the tasks to the DSM.
> TDISP devices can not be migrated for now.
>>
>> For untrusted hypervisor, same set of attack surface is present with
>> trap+emulation.
>> So both method score same. Hence its not relevant point for discussion.
> this is not hypervisor, Do you see any modern hypervisor have these
> issues?
>
> This is admin vq for LM can be a side channel attacking surface.
>>
>>>> #3 There is no QoS issue with admin commands and queues. If you
>>>> claim that
>>> then whole virtio spec based on the virtqueues is broken.
>>>> And it is certainly not the case.
>>> Please do not confuse the concepts and purposes of the data queues and
>>> admin vq.
>>>
>> I am not confused.
>> There is no guarantee that a register placed on the VF will be
>> serviced by the device in exact same time regardless of VF count = 1
>> or 4000.
>> Yet again not relevant comparison.
> please read my previous replies in other threads.
>>
>>> For data-queues, it can be slow without mq or rss, that means
>>> performance
>>> overhead, but can work.
>> No, it does not work. The application failed because of jitter in the
>> video and audio due to missing the latency budget.
>> A financial application is terminated due to timeouts and packet loss.
>>
>> Device migration is just another 3rd such applications.
>>
>> Its also same.
>> My last reply on this vague argument.
> I think the points are clear, and you already understand the points,
> so no need to argue anymore
>>
>>> For admin vq, if it don't meet QOS requirements, it fails to migrate
>>> guests.
>>>
>>> I have replied to the same question so many times, and this is the
>>> last time.
>> I also replied many times that QoS argument is not valid anymore.
>> Same can happen with registers writes.
>> Perf characteristics for 30+ devices is not in the virtio spec. It is
>> implementation details.
> as replied many times, registers only serve the device itself and
> registers are not DATA PATH,
> means the device don't transfer data through registers.
>
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
next prev parent reply other threads:[~2023-09-18 5:25 UTC|newest]
Thread overview: 269+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-06 8:16 [virtio-dev] [PATCH 0/5] virtio: introduce SUSPEND bit and vq state Zhu Lingshan
2023-09-06 8:16 ` [virtio-dev] [PATCH 1/5] virtio: introduce vq state as basic facility Zhu Lingshan
2023-09-06 8:28 ` [virtio-dev] Re: [virtio-comment] " Michael S. Tsirkin
2023-09-06 9:43 ` Zhu, Lingshan
2023-09-14 11:25 ` Michael S. Tsirkin
2023-09-15 2:46 ` Zhu, Lingshan
2023-09-06 8:16 ` [virtio-dev] [PATCH 2/5] virtio: introduce SUSPEND bit in device status Zhu Lingshan
2023-09-14 11:34 ` [virtio-dev] " Michael S. Tsirkin
2023-09-15 2:57 ` Zhu, Lingshan
2023-09-15 11:10 ` Michael S. Tsirkin
2023-09-18 2:56 ` Zhu, Lingshan
2023-09-18 4:42 ` [virtio-dev] RE: [virtio-comment] " Parav Pandit
2023-09-18 5:14 ` [virtio-dev] " Zhu, Lingshan
2023-09-18 6:17 ` [virtio-dev] " Parav Pandit
2023-09-18 6:38 ` [virtio-dev] " Zhu, Lingshan
2023-09-18 6:46 ` [virtio-dev] " Parav Pandit
2023-09-18 6:49 ` [virtio-dev] " Zhu, Lingshan
2023-09-18 6:50 ` [virtio-dev] " Zhu, Lingshan
2023-09-06 8:16 ` [virtio-dev] [PATCH 3/5] virtqueue: constraints for virtqueue state Zhu Lingshan
2023-09-14 11:30 ` [virtio-dev] " Michael S. Tsirkin
2023-09-15 2:59 ` Zhu, Lingshan
2023-09-15 11:16 ` Michael S. Tsirkin
2023-09-18 3:02 ` [virtio-dev] Re: [virtio-comment] " Zhu, Lingshan
2023-09-18 17:30 ` Michael S. Tsirkin
2023-09-19 7:56 ` Zhu, Lingshan
2023-09-06 8:16 ` [virtio-dev] [PATCH 4/5] virtqueue: ignore resetting vqs when SUSPEND Zhu Lingshan
2023-09-14 11:09 ` [virtio-dev] " Michael S. Tsirkin
2023-09-15 4:06 ` Zhu, Lingshan
2023-09-06 8:16 ` [virtio-dev] [PATCH 5/5] virtio-pci: implement VIRTIO_F_QUEUE_STATE Zhu Lingshan
2023-09-06 8:32 ` [virtio-dev] Re: [virtio-comment] " Michael S. Tsirkin
2023-09-06 8:37 ` [virtio-dev] " Parav Pandit
2023-09-06 9:37 ` [virtio-dev] " Zhu, Lingshan
2023-09-11 3:01 ` Jason Wang
2023-09-11 4:11 ` [virtio-dev] " Parav Pandit
2023-09-11 6:30 ` [virtio-dev] " Jason Wang
2023-09-11 6:47 ` [virtio-dev] " Parav Pandit
2023-09-11 6:58 ` [virtio-dev] " Zhu, Lingshan
2023-09-11 7:07 ` [virtio-dev] " Parav Pandit
2023-09-11 7:18 ` [virtio-dev] " Zhu, Lingshan
2023-09-11 7:30 ` [virtio-dev] " Parav Pandit
2023-09-11 7:58 ` [virtio-dev] " Zhu, Lingshan
2023-09-11 8:12 ` [virtio-dev] " Parav Pandit
2023-09-11 8:46 ` [virtio-dev] " Zhu, Lingshan
2023-09-11 9:05 ` [virtio-dev] " Parav Pandit
2023-09-11 9:32 ` [virtio-dev] " Zhu, Lingshan
2023-09-11 10:21 ` [virtio-dev] " Parav Pandit
2023-09-12 4:06 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 5:58 ` [virtio-dev] " Parav Pandit
2023-09-12 6:33 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 6:47 ` [virtio-dev] " Parav Pandit
2023-09-12 7:27 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 7:40 ` [virtio-dev] " Parav Pandit
2023-09-12 9:02 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 9:21 ` [virtio-dev] " Parav Pandit
2023-09-12 13:03 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 13:43 ` [virtio-dev] " Parav Pandit
2023-09-13 4:01 ` [virtio-dev] " Zhu, Lingshan
2023-09-13 4:12 ` [virtio-dev] " Parav Pandit
2023-09-13 4:20 ` [virtio-dev] " Zhu, Lingshan
2023-09-13 4:36 ` [virtio-dev] " Parav Pandit
2023-09-14 8:19 ` [virtio-dev] " Zhu, Lingshan
2023-09-11 11:50 ` [virtio-dev] " Parav Pandit
2023-09-12 3:43 ` [virtio-dev] " Jason Wang
2023-09-12 5:50 ` [virtio-dev] " Parav Pandit
2023-09-13 4:44 ` [virtio-dev] " Jason Wang
2023-09-13 6:05 ` [virtio-dev] " Parav Pandit
2023-09-14 3:11 ` [virtio-dev] " Jason Wang
2023-09-17 5:22 ` [virtio-dev] " Parav Pandit
2023-09-19 4:35 ` [virtio-dev] " Jason Wang
2023-09-19 7:33 ` [virtio-dev] " Parav Pandit
2023-09-12 3:48 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 5:51 ` [virtio-dev] " Parav Pandit
2023-09-12 6:37 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 6:49 ` [virtio-dev] " Parav Pandit
2023-09-12 7:29 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 7:53 ` [virtio-dev] " Parav Pandit
2023-09-12 9:06 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 9:08 ` Zhu, Lingshan
2023-09-12 9:35 ` [virtio-dev] " Parav Pandit
2023-09-12 10:14 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 10:16 ` [virtio-dev] " Parav Pandit
2023-09-12 10:28 ` [virtio-dev] " Zhu, Lingshan
2023-09-13 2:23 ` [virtio-dev] " Parav Pandit
2023-09-13 4:03 ` [virtio-dev] " Zhu, Lingshan
2023-09-13 4:15 ` [virtio-dev] " Parav Pandit
2023-09-13 4:21 ` [virtio-dev] " Zhu, Lingshan
2023-09-13 4:37 ` [virtio-dev] " Parav Pandit
2023-09-14 3:11 ` [virtio-dev] " Jason Wang
2023-09-17 5:25 ` [virtio-dev] " Parav Pandit
2023-09-19 4:34 ` [virtio-dev] " Jason Wang
2023-09-19 7:32 ` [virtio-dev] " Parav Pandit
2023-09-14 8:22 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 9:28 ` [virtio-dev] " Parav Pandit
2023-09-12 10:17 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 10:25 ` [virtio-dev] " Parav Pandit
2023-09-12 10:32 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 10:40 ` [virtio-dev] " Parav Pandit
2023-09-12 13:04 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 13:36 ` [virtio-dev] " Parav Pandit
2023-09-12 4:10 ` [virtio-dev] " Jason Wang
2023-09-12 6:05 ` [virtio-dev] " Parav Pandit
2023-09-13 4:45 ` [virtio-dev] " Jason Wang
2023-09-13 6:39 ` [virtio-dev] " Parav Pandit
2023-09-14 3:08 ` [virtio-dev] " Jason Wang
2023-09-17 5:22 ` [virtio-dev] " Parav Pandit
2023-09-19 4:32 ` [virtio-dev] " Jason Wang
2023-09-19 7:32 ` [virtio-dev] " Parav Pandit
2023-09-13 8:27 ` [virtio-dev] " Michael S. Tsirkin
2023-09-14 3:11 ` Jason Wang
2023-09-12 4:18 ` Jason Wang
2023-09-12 6:11 ` [virtio-dev] " Parav Pandit
2023-09-12 6:43 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 6:52 ` [virtio-dev] " Parav Pandit
2023-09-12 7:36 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 7:43 ` [virtio-dev] " Parav Pandit
2023-09-12 10:27 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 10:33 ` [virtio-dev] " Parav Pandit
2023-09-12 10:35 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 10:41 ` [virtio-dev] " Parav Pandit
2023-09-12 13:09 ` [virtio-dev] " Zhu, Lingshan
2023-09-12 13:35 ` [virtio-dev] " Parav Pandit
2023-09-13 4:13 ` [virtio-dev] " Zhu, Lingshan
2023-09-13 4:19 ` [virtio-dev] " Parav Pandit
2023-09-13 4:22 ` [virtio-dev] " Zhu, Lingshan
2023-09-13 4:39 ` [virtio-dev] " Parav Pandit
2023-09-14 8:24 ` [virtio-dev] " Zhu, Lingshan
2023-09-13 4:56 ` Jason Wang
2023-09-13 4:43 ` Jason Wang
2023-09-13 4:46 ` [virtio-dev] " Parav Pandit
2023-09-14 3:12 ` [virtio-dev] " Jason Wang
2023-09-17 5:29 ` [virtio-dev] " Parav Pandit
2023-09-19 4:25 ` [virtio-dev] " Jason Wang
2023-09-19 7:32 ` [virtio-dev] " Parav Pandit
2023-09-11 6:59 ` Parav Pandit
2023-09-11 10:15 ` [virtio-dev] " Michael S. Tsirkin
2023-09-12 3:35 ` Jason Wang
2023-09-12 3:43 ` Zhu, Lingshan
2023-09-14 11:27 ` Michael S. Tsirkin
2023-09-15 4:13 ` Zhu, Lingshan
2023-09-06 8:29 ` [virtio-dev] Re: [virtio-comment] [PATCH 0/5] virtio: introduce SUSPEND bit and vq state Michael S. Tsirkin
2023-09-06 8:38 ` Zhu, Lingshan
2023-09-06 13:49 ` Michael S. Tsirkin
2023-09-07 1:51 ` Zhu, Lingshan
2023-09-07 10:57 ` Eugenio Perez Martin
2023-09-07 19:55 ` Michael S. Tsirkin
2023-09-14 11:14 ` [virtio-dev] " Michael S. Tsirkin
2023-09-15 4:28 ` Zhu, Lingshan
2023-09-17 5:32 ` Parav Pandit
2023-09-18 3:10 ` Zhu, Lingshan
2023-09-18 4:32 ` Parav Pandit
2023-09-18 5:21 ` Zhu, Lingshan
2023-09-18 5:25 ` Zhu, Lingshan [this message]
2023-09-18 6:37 ` Parav Pandit
2023-09-18 6:49 ` Zhu, Lingshan
2023-09-18 6:54 ` Parav Pandit
2023-09-18 9:34 ` Zhu, Lingshan
2023-09-18 18:41 ` Parav Pandit
2023-09-18 18:49 ` Michael S. Tsirkin
2023-09-20 6:06 ` Zhu, Lingshan
2023-09-20 6:08 ` Parav Pandit
2023-09-20 6:31 ` Zhu, Lingshan
2023-09-20 8:34 ` Parav Pandit
2023-09-20 9:44 ` Zhu, Lingshan
2023-09-20 9:52 ` Parav Pandit
2023-09-20 11:11 ` Zhu, Lingshan
2023-09-20 11:15 ` Parav Pandit
2023-09-20 11:27 ` Zhu, Lingshan
2023-09-21 5:13 ` Michael S. Tsirkin
2023-09-20 10:36 ` Michael S. Tsirkin
2023-09-20 10:55 ` Parav Pandit
2023-09-20 11:28 ` Zhu, Lingshan
2023-09-20 11:52 ` Michael S. Tsirkin
2023-09-20 12:05 ` Zhu, Lingshan
2023-09-20 12:08 ` Zhu, Lingshan
2023-09-20 12:22 ` Michael S. Tsirkin
2023-09-20 11:22 ` Zhu, Lingshan
2023-09-20 12:05 ` Michael S. Tsirkin
2023-09-20 12:13 ` Parav Pandit
2023-09-20 12:16 ` Zhu, Lingshan
2023-09-20 12:40 ` Michael S. Tsirkin
2023-09-21 3:14 ` Jason Wang
2023-09-21 3:51 ` Parav Pandit
2023-09-21 4:02 ` Jason Wang
2023-09-21 4:11 ` Parav Pandit
2023-09-21 4:19 ` Jason Wang
2023-09-21 4:29 ` Parav Pandit
2023-09-22 3:13 ` Jason Wang
2023-09-20 12:41 ` Michael S. Tsirkin
2023-09-20 13:41 ` Parav Pandit
2023-09-20 14:13 ` Michael S. Tsirkin
2023-09-20 14:16 ` Michael S. Tsirkin
2023-09-20 17:21 ` Parav Pandit
2023-09-20 20:03 ` Michael S. Tsirkin
2023-09-21 3:43 ` Parav Pandit
2023-09-21 5:41 ` Michael S. Tsirkin
2023-09-21 5:54 ` Parav Pandit
2023-09-21 6:06 ` Michael S. Tsirkin
2023-09-21 6:31 ` Parav Pandit
2023-09-21 7:20 ` Michael S. Tsirkin
2023-09-21 7:53 ` Parav Pandit
2023-09-21 8:11 ` Michael S. Tsirkin
2023-09-21 9:17 ` Parav Pandit
2023-09-21 10:01 ` Michael S. Tsirkin
2023-09-21 11:13 ` Parav Pandit
2023-09-21 10:09 ` Michael S. Tsirkin
2023-09-21 10:39 ` Parav Pandit
2023-09-21 12:22 ` Michael S. Tsirkin
2023-09-21 12:39 ` Parav Pandit
2023-09-21 13:04 ` Michael S. Tsirkin
2023-09-22 3:31 ` Jason Wang
2023-09-21 9:06 ` Zhu, Lingshan
2023-09-21 9:18 ` Zhu, Lingshan
2023-09-21 9:26 ` Parav Pandit
2023-09-21 9:55 ` Zhu, Lingshan
2023-09-21 11:28 ` Parav Pandit
2023-09-22 2:40 ` Zhu, Lingshan
2023-09-21 3:26 ` Jason Wang
2023-09-21 4:21 ` Parav Pandit
2023-09-21 3:18 ` Jason Wang
2023-09-21 4:03 ` Parav Pandit
2023-09-21 3:17 ` Jason Wang
2023-09-21 4:01 ` Parav Pandit
2023-09-21 4:09 ` Jason Wang
2023-09-21 4:19 ` Parav Pandit
2023-09-22 3:08 ` Jason Wang
2023-09-22 3:39 ` Zhu, Lingshan
2023-09-25 10:41 ` Parav Pandit
2023-09-26 2:45 ` Jason Wang
2023-09-26 3:40 ` Parav Pandit
2023-09-26 4:37 ` Jason Wang
2023-09-26 5:21 ` Parav Pandit
2023-10-09 8:49 ` Jason Wang
2023-10-12 10:03 ` Michael S. Tsirkin
2023-09-27 15:31 ` Michael S. Tsirkin
2023-09-26 5:36 ` Zhu, Lingshan
2023-09-26 6:03 ` Parav Pandit
2023-09-26 9:25 ` Zhu, Lingshan
2023-09-26 10:48 ` Michael S. Tsirkin
2023-09-27 8:20 ` Zhu, Lingshan
2023-09-27 10:39 ` Parav Pandit
2023-10-09 10:05 ` Zhu, Lingshan
2023-10-09 10:07 ` Parav Pandit
2023-09-27 15:40 ` Michael S. Tsirkin
2023-10-09 10:01 ` Zhu, Lingshan
2023-10-11 10:20 ` [virtio-dev] Re: [virtio-comment] " Michael S. Tsirkin
2023-10-11 10:38 ` Zhu, Lingshan
2023-10-11 11:52 ` [virtio-dev] " Parav Pandit
2023-10-12 10:57 ` [virtio-dev] " Zhu, Lingshan
2023-10-12 11:13 ` Michael S. Tsirkin
2023-10-12 9:59 ` Michael S. Tsirkin
2023-10-12 10:49 ` Zhu, Lingshan
2023-10-12 11:12 ` Michael S. Tsirkin
2023-10-13 10:18 ` Zhu, Lingshan
2023-10-12 14:38 ` Michael S. Tsirkin
2023-10-13 10:23 ` Zhu, Lingshan
2023-09-27 21:43 ` Michael S. Tsirkin
2023-09-19 8:01 ` Zhu, Lingshan
2023-09-19 9:06 ` Parav Pandit
2023-09-19 10:03 ` Zhu, Lingshan
2023-09-19 4:27 ` Jason Wang
2023-09-19 7:32 ` Parav Pandit
2023-09-19 7:46 ` Zhu, Lingshan
2023-09-19 7:53 ` Parav Pandit
2023-09-19 8:03 ` Zhu, Lingshan
2023-09-19 8:31 ` Parav Pandit
2023-09-19 8:39 ` Zhu, Lingshan
2023-09-19 9:09 ` Parav Pandit
2023-09-14 11:37 ` Michael S. Tsirkin
2023-09-15 4:41 ` Zhu, Lingshan
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=213a0f94-cee2-d8c5-3c5d-d2d7fc920e75@intel.com \
--to=lingshan.zhu@intel.com \
--cc=jasowang@redhat.com \
--cc=mst@redhat.com \
--cc=parav@nvidia.com \
--cc=virtio-dev@lists.oasis-open.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