[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 0/3] Balloon inhibit enhancements
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [RFC PATCH 0/3] Balloon inhibit enhancements |
Date: |
Mon, 30 Jul 2018 20:35:48 +0300 |
On Mon, Jul 30, 2018 at 10:42:05AM -0600, Alex Williamson wrote:
> On Mon, 30 Jul 2018 18:49:58 +0300
> "Michael S. Tsirkin" <address@hidden> wrote:
>
> > On Mon, Jul 30, 2018 at 09:01:37AM -0600, Alex Williamson wrote:
> > > > > but I don't think it can be done
> > > > > atomically with respect to inflight DMA of a physical device where we
> > > > > cannot halt the device without interfering with its state.
> > > >
> > > > Guests never add pages to the balloon if they are under DMA,
> > > > so that's fine - there's never an in-flight DMA, if
> > > > there is guest is buggy and it's ok to crash it.
> > >
> > > It's not the ballooned page that I'm trying to note, it's the entire
> > > remainder of the SubRegion which needs to be unmapped to remove that
> > > one page. It's more compatible from an IOMMU perspective in that we're
> > > only unmapping with the same granularity with which we mapped, but it's
> > > incompatible with inflight DMA as we have no idea what DMA targets may
> > > reside within the remainder of that mapping while it's temporarily
> > > unmapped.
> >
> > I see. Yes you need to be careful to replace the host IOMMU PTE
> > atomically. Same applies to vIOMMU though - if guest changes
> > a PTE atomically host should do the same.
>
> I'm not sure the hardware supports atomic updates in these cases and
> therefore I don't think the vIOMMU does either. Thanks,
>
> Alex
Interesting. What makes you think simply writing into PTE
then flushing the cache isn't atomic?
--
MST
- Re: [Qemu-devel] [RFC PATCH 0/3] Balloon inhibit enhancements, (continued)
Re: [Qemu-devel] [RFC PATCH 0/3] Balloon inhibit enhancements, Alex Williamson, 2018/07/30