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


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).

> 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



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