All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: David Hildenbrand <david@redhat.com>
Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>,
	Wei Yang <richard.weiyang@linux.alibaba.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	qemu-devel@nongnu.org, Peter Xu <peterx@redhat.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Auger Eric <eric.auger@redhat.com>,
	Pankaj Gupta <pankaj.gupta@cloud.ionos.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	teawater <teawaterz@linux.alibaba.com>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Igor Mammedov <imammedo@redhat.com>,
	Marek Kedzierski <mkedzier@redhat.com>
Subject: Re: [PATCH v5 00/11] virtio-mem: vfio support
Date: Tue, 16 Feb 2021 11:33:59 -0700	[thread overview]
Message-ID: <20210216113359.70af1ad4@omen.home.shazbot.org> (raw)
In-Reply-To: <f9025da1-a8da-a281-514e-9f56e3bda04e@redhat.com>

On Mon, 15 Feb 2021 15:03:43 +0100
David Hildenbrand <david@redhat.com> wrote:

> On 08.02.21 09:28, David Hildenbrand wrote:
> > On 27.01.21 13:45, Michael S. Tsirkin wrote:  
> >> On Thu, Jan 21, 2021 at 12:05:29PM +0100, David Hildenbrand wrote:  
> >>> A virtio-mem device manages a memory region in guest physical address
> >>> space, represented as a single (currently large) memory region in QEMU,
> >>> mapped into system memory address space. Before the guest is allowed to use
> >>> memory blocks, it must coordinate with the hypervisor (plug blocks). After
> >>> a reboot, all memory is usually unplugged - when the guest comes up, it
> >>> detects the virtio-mem device and selects memory blocks to plug (based on
> >>> resize requests from the hypervisor).
> >>>
> >>> Memory hot(un)plug consists of (un)plugging memory blocks via a virtio-mem
> >>> device (triggered by the guest). When unplugging blocks, we discard the
> >>> memory - similar to memory balloon inflation. In contrast to memory
> >>> ballooning, we always know which memory blocks a guest may actually use -
> >>> especially during a reboot, after a crash, or after kexec (and during
> >>> hibernation as well). Guests agreed to not access unplugged memory again,
> >>> especially not via DMA.
> >>>
> >>> The issue with vfio is, that it cannot deal with random discards - for this
> >>> reason, virtio-mem and vfio can currently only run mutually exclusive.
> >>> Especially, vfio would currently map the whole memory region (with possible
> >>> only little/no plugged blocks), resulting in all pages getting pinned and
> >>> therefore resulting in a higher memory consumption than expected (turning
> >>> virtio-mem basically useless in these environments).
> >>>
> >>> To make vfio work nicely with virtio-mem, we have to map only the plugged
> >>> blocks, and map/unmap properly when plugging/unplugging blocks (including
> >>> discarding of RAM when unplugging). We achieve that by using a new notifier
> >>> mechanism that communicates changes.  
> >>
> >> series
> >>
> >> Acked-by: Michael S. Tsirkin <mst@redhat.com>
> >>
> >> virtio bits
> >>
> >> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> >>
> >> This needs to go through vfio tree I assume.  
> > 
> > Thanks Michael.
> > 
> > @Alex, what are your suggestions?  
> 
> Gentle ping.

Sorry for the delay.  It looks to me like patches 1, 8, and 9 are
Memory API that are still missing an Ack from Paolo.  I'll toss in my
A-b+R-b for patches 6 and 7.  I don't see that this necessarily needs
to go in through vfio, I'm more than happy if someone else wants to
grab it.  Thanks,

Alex



  reply	other threads:[~2021-02-16 18:35 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-21 11:05 [PATCH v5 00/11] virtio-mem: vfio support David Hildenbrand
2021-01-21 11:05 ` [PATCH v5 01/11] memory: Introduce RamDiscardMgr for RAM memory regions David Hildenbrand
2021-02-16 18:50   ` David Hildenbrand
2021-01-21 11:05 ` [PATCH v5 02/11] virtio-mem: Factor out traversing unplugged ranges David Hildenbrand
2021-01-21 11:05 ` [PATCH v5 03/11] virtio-mem: Implement RamDiscardMgr interface David Hildenbrand
2021-01-27 20:14   ` Dr. David Alan Gilbert
2021-01-27 20:20     ` David Hildenbrand
2021-02-22 11:29     ` David Hildenbrand
2021-01-21 11:05 ` [PATCH v5 04/11] vfio: Support for RamDiscardMgr in the !vIOMMU case David Hildenbrand
2021-01-21 11:05 ` [PATCH v5 05/11] vfio: Query and store the maximum number of possible DMA mappings David Hildenbrand
2021-01-21 11:05 ` [PATCH v5 06/11] vfio: Sanity check maximum number of DMA mappings with RamDiscardMgr David Hildenbrand
2021-02-16 18:34   ` Alex Williamson
2021-01-21 11:05 ` [PATCH v5 07/11] vfio: Support for RamDiscardMgr in the vIOMMU case David Hildenbrand
2021-02-16 18:34   ` Alex Williamson
2021-01-21 11:05 ` [PATCH v5 08/11] softmmu/physmem: Don't use atomic operations in ram_block_discard_(disable|require) David Hildenbrand
2021-01-21 11:05 ` [PATCH v5 09/11] softmmu/physmem: Extend ram_block_discard_(require|disable) by two discard types David Hildenbrand
2021-01-21 11:05 ` [PATCH v5 10/11] virtio-mem: Require only coordinated discards David Hildenbrand
2021-01-21 11:05 ` [PATCH v5 11/11] vfio: Disable only uncoordinated discards for VFIO_TYPE1 iommus David Hildenbrand
2021-02-16 19:03   ` Alex Williamson
2021-01-27 12:45 ` [PATCH v5 00/11] virtio-mem: vfio support Michael S. Tsirkin
2021-02-08  8:28   ` David Hildenbrand
2021-02-15 14:03     ` David Hildenbrand
2021-02-16 18:33       ` Alex Williamson [this message]
2021-02-16 18:49         ` David Hildenbrand
2021-02-16 19:04           ` Alex Williamson

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=20210216113359.70af1ad4@omen.home.shazbot.org \
    --to=alex.williamson@redhat.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=david@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=mkedzier@redhat.com \
    --cc=mst@redhat.com \
    --cc=pankaj.gupta.linux@gmail.com \
    --cc=pankaj.gupta@cloud.ionos.com \
    --cc=pbonzini@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.weiyang@linux.alibaba.com \
    --cc=teawaterz@linux.alibaba.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.