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 v3 6/8] admin: Add theory of operation for write recording commands


On Tue, Nov 14, 2023 at 10:04âAM Zhu, Lingshan <lingshan.zhu@intel.com> wrote:
>
>
>
> On 11/13/2023 10:30 PM, Michael S. Tsirkin wrote:
> > On Mon, Nov 13, 2023 at 11:41:07AM +0800, Jason Wang wrote:
> >> On Fri, Nov 10, 2023 at 2:46âPM Parav Pandit <parav@nvidia.com> wrote:
> >>> Hi Michael,
> >>>
> >>>> From: Michael S. Tsirkin <mst@redhat.com>
> >>>> Sent: Thursday, November 9, 2023 1:29 PM
> >>> [..]
> >>>>> Besides the issue of performance, it's also racy, assuming we are logging
> >>>> IOVA.
> >>>>> 0) device log IOVA
> >>>>> 1) hypervisor fetches IOVA from log buffer
> >>>>> 2) guest map IOVA to a new GPA
> >>>>> 3) hypervisor traverse guest table to get IOVA to new GPA
> >>>>>
> >>>>> Then we lost the old GPA.
> >>>> Interesting and a good point. And by the way e.g. vhost has the same issue.  You
> >>>> need to flush dirty tracking info when changing the mappings somehow.  Parav
> >>>> what's the plan for this? Should be addressed in the spec too.
> >>>>
> >>> As you listed the flush is needed for vhost or device-based DPT.
> >> What does DPT mean? Device Page Table? Let's not invent terminology
> >> which is not known by others please.
> >>
> >> We have discussed it many times. You can't just depend on ATS or
> >> reinventing wheels in virtio.
> >>
> >> What's more, please try not to give me the impression that the
> >> proposal is optimized for a specific vendor (like device IOMMU
> >> stuffs).
> > Devices with IOMMU exist.

It only exists for very few vendors. Whether or not virtio needs a
device IOMMU is a separate topic.

Again, it's far easier to leverage what platform can give us than
re-inventing stuff in virtio.

> > So if it's for device IOMMU that's fine, as long as it's well isolated.
> device side IOMMU is not a must and I hope virito features don't depend
> on it.

Exactly, and I didn't see any description in this series to:

1) claim the feature depends on device IOMMU
2) invent interfaces for device IOMMU

Thanks



> >
> >
> >>> The necessary plumbing is already covered for this in the query (read and clear) command of this v3 proposal.
> >> The issue is logging via IOVA ... I don't see how "read and clear" can help.
> >>
> >>> It is listed in Device Write Records Read Command.
> >> Please explain how your proposal can solve the above race.
> >>
> >>> When the page write record is fully read, it is flushed.
> >>> How/when to use, I think its hypervisor specific, so we probably better off not documenting those details.
> >> Well, as the author of this proposal, at least you need to know how a
> >> hypervisor can work with your proposal, no?
> >>
> >>> May be such read is needed in some other path too depending on how hypervisor implemented.
> >> What do you mean by "May be ... some other path" here? You're
> >> inventing a mechanism that you don't know how a hypervisor can use?
> >>
> >> Thanks
> >
> > It seems like a subtle enough race that it really should be documented.
> >
>



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