OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: RE: [virtio-comment] Re: [PATCH v1 3/8] device-context: Define the device context fields for device migration

> From: Zhu, Lingshan <lingshan.zhu@intel.com>
> Sent: Friday, October 20, 2023 4:42 PM
> On 10/20/2023 5:41 PM, Michael S. Tsirkin wrote:
> > On Fri, Oct 20, 2023 at 05:31:01PM +0800, Zhu, Lingshan wrote:
> >>
> >> On 10/19/2023 6:33 PM, Parav Pandit wrote:
> >>>> From: Zhu, Lingshan <lingshan.zhu@intel.com>
> >>>> Sent: Thursday, October 19, 2023 2:48 PM
> >>>>
> >>>> On 10/19/2023 5:14 PM, Michael S. Tsirkin wrote:
> >>>>> On Thu, Oct 19, 2023 at 09:13:16AM +0000, Parav Pandit wrote:
> >>>>>>> Oh, really? Quite interesting, do you want to move all config
> >>>>>>> space fields in VF to admin vq? Have a plan?
> >>>>>> Not in my plan for spec 1.4 time frame.
> >>>>>> I do not want to divert the discussion, would like to focus on
> >>>>>> device
> >>>> migration phases.
> >>>>>> Lets please discuss in some other dedicated thread.
> >>>>> Possibly, if there's a way to send admin commands to vf itself
> >>>>> then Lingshan will be happy?
> >>>> still need to prove why admin commands are better than registers.
> >>> Virtio spec development is not proof based approach. Please stop asking for
> it.
> >>>
> >>> I tried my best to have technical answer in [1].
> >>> I explained that registers simply do not work for passthrough mode
> >>> (if this is what you are asking when you are asking prove its better).
> >>> They can work for non_passthrough mediated mode.
> >>>
> >>> A member device may do admin commands using registers. Michael and I
> are discussing presently in the same thread.
> >>>
> >>> Since there are multiple things to be done for device migration, dedicated
> register set for each functionality do not scale well, hard to maintain and
> extend.
> >>> A register holding a command content make sense.
> >>>
> >>> Now, with that, if this can be useful only for non_passthrough, I made
> humble request to transport them using AQ, this way, you get all benefits of AQ.
> >>> And trying to understand, why AQ cannot possible or inferior?
> >>>
> >>> If you have commands like suspend/resume device, register or queue
> transport simply donât work, because it's wrong to bifurcate the device with
> such weird API.
> >>> If you want to biferacate for mediation software, it probably makes sense to
> operate at each VQ level, config space level. Such are very different commands
> than passthrough.
> >>> I think vdpa has demonstrated that very well on how to do specific work for
> specific device type. So some of those work can be done using AQ.
> >>>
> >>> [1]
> >>> https://lore.kernel.org/virtio-comment/870ace02-f99c-4582-932f-bd103
> >>> 362dae9@intel.com/T/#m37743aa924536d0256d6b3b8e83a11c750f28794
> >> We have been through your statement for many times.
> >> This is not about how many times you repeated, if you think this is
> >> true, you need to prove that with solid evidence.
> >>
> >>
> >> For pass-through, I still recommend you to take a reference of
> >> current virito-pci implementation, it works for pass-through, right?
> > Current migration implementation in e.g. QEMU? It does but it traps
> > data path accesses. That, I think we can agree, should not be the only
> > option to migrate.
> OK, I am glad we agree that config space work for pass-through, hope we don't
> need to discuss this anymore.
> >
> >> For scale, I already told you for many times that they are per-device
> >> facilities. How can a per-device facility not scale?
> >> vDPA works fine on config space.
> >>
> >> So, if you still insist admin vq is better than config space like in
> >> other thread you have concluded, you may imply that config space
> >> interfaces should be re-factored to admin vq.
> > There are good arguments that yes, virtio needs a transport for config
> > space that is DMA based as opposed to memory mapped based.  This is
> > one of the things all vendors seem to prefer in IDPF so virtio should have the
> option.
> Do you really want to refactor virtio-pci common config fields to PF's admin vq?
> E.g, do you really want to move queue_enable in virtio-pci common config
> fields to PF's admin vq?
No. Please read the response carefully.
I said 'For non-backward compatible SIOV device of the future, yes, virtio-pci common config (non init registers) should be moved to a vq, located on the member device directly.'
Notice the 'member device directly'.
Not the PF admin vq.

> Config space is control path, DMA is data-path, let's better not mix them, we
> never expect to use config space to transfer data.
And that control path is only for the init time configuration as correctly listed in the virtio spec as,

" Device configuration space should only be used for initialization-time parameters.".

> So we need DMA to transfer data, for example I take advantages of device DMA
> to logging dirty pages, This also applies to in-flight descriptors.
Can you please explain via virtqueue cannot be used for DMA bulk data transfer as listed in virtio spec.

" The mechanism for bulk data transport on virtio devices is pretentiously called a virtqueue"

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]