All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: vkuznets@redhat.com, Jason Wang <jasowang@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [PATCH 0/2] exclude hyperv synic sections from vhost
Date: Thu, 9 Jan 2020 07:14:32 -0500	[thread overview]
Message-ID: <20200109070416-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20200109120216.GA6795@work-vm>

On Thu, Jan 09, 2020 at 12:02:16PM +0000, Dr. David Alan Gilbert wrote:
> * Jason Wang (jasowang@redhat.com) wrote:
> > 
> > On 2020/1/8 下午9:53, Dr. David Alan Gilbert (git) wrote:
> > > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> > > 
> > > Hyperv's synic (that we emulate) is a feature that allows the guest
> > > to place some magic (4k) pages of RAM anywhere it likes in GPA.
> > > This confuses vhost's RAM section merging when these pages
> > > land over the top of hugepages.
> > 
> > 
> > Hi David:
> > 
> > A silly question, is this because the alignment when adding sections? If
> > yes, what's the reason for doing alignment which is not a must for vhost
> > memory table.
> 
> Page alignment is a bit odd with vhost-user - it ends up having to mmap
> each of the sections itself; and still has to map them as hugepages
> to be able to mmap - in the old world you could sometimes have
> the daemon mmaping the same chunk of memory twice into the vhost-user
> process; without the aggregation  you'd get a hugepage mapping for the
> 0-2MB chunk for the 0-512K mapping, and then maybe another 0-2MB chunk
> for some of the other parts over 512K.
> With postcopy we can't have the multiple mappings of the same part of
> guest memory; we need to have one mapping for userfault.
> 
> Also, given the 16 separate synic regions, you'd probably end up having
> a lot of wasted vhost-sections.
> 
> Dave

So I'd worry that this is more an abuse of an interface.
E.g. this means it's skipped from dumps, which is not nice.


And for vhost I worry these patches will break pass-through of
PCI attached memory.


> 
> 
> 
> > Thanks
> > 
> > 
> > > 
> > > Since they're not normal RAM, and they shouldn't have vhost DMAing
> > > into them, exclude them from the vhost set.
> > > 
> > > I do that by marking them as device-ram and then excluding device-ram
> > > from vhost.
> > > 
> > > bz: https://bugzilla.redhat.com/show_bug.cgi?id=1779041
> > > 
> > > Dr. David Alan Gilbert (2):
> > >    vhost: Don't pass ram device sections
> > >    hyperv/synic: Allocate as ram_device
> > > 
> > >   hw/hyperv/hyperv.c | 14 ++++++++------
> > >   hw/virtio/vhost.c  |  1 +
> > >   2 files changed, 9 insertions(+), 6 deletions(-)
> > > 
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK



  reply	other threads:[~2020-01-09 12:15 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-08 13:53 [PATCH 0/2] exclude hyperv synic sections from vhost Dr. David Alan Gilbert (git)
2020-01-08 13:53 ` [PATCH 1/2] vhost: Don't pass ram device sections Dr. David Alan Gilbert (git)
2020-01-09 11:45   ` Michael S. Tsirkin
2020-01-09 11:56     ` Michael S. Tsirkin
2020-01-09 12:38   ` Roman Kagan
2020-01-09 12:42     ` Michael S. Tsirkin
2020-01-08 13:53 ` [PATCH 2/2] hyperv/synic: Allocate as ram_device Dr. David Alan Gilbert (git)
2020-01-09 11:48   ` Michael S. Tsirkin
2020-01-09 12:08     ` Dr. David Alan Gilbert
2020-01-09 12:18       ` Michael S. Tsirkin
2020-01-09 12:22         ` Dr. David Alan Gilbert
2020-01-09 13:00           ` Vitaly Kuznetsov
2020-01-09 13:24             ` Roman Kagan
2020-01-09 13:28               ` Dr. David Alan Gilbert
2020-01-09 16:12                 ` Roman Kagan
2020-01-09 16:27                   ` Dr. David Alan Gilbert
2020-01-09 17:13                     ` Roman Kagan
2020-01-09 13:06           ` Michael S. Tsirkin
2020-01-09 13:22             ` Dr. David Alan Gilbert
2020-01-09 13:27               ` Michael S. Tsirkin
2020-01-09 13:28                 ` Michael S. Tsirkin
2020-01-09 13:40                   ` Dr. David Alan Gilbert
2020-01-09 15:31               ` Paolo Bonzini
2020-01-09 15:38                 ` Dr. David Alan Gilbert
2020-01-09 15:40                 ` Vitaly Kuznetsov
2020-07-07 10:54                   ` Paolo Bonzini
2020-01-09 13:03   ` Roman Kagan
2020-01-09 13:08     ` Dr. David Alan Gilbert
2020-01-08 14:26 ` [PATCH 0/2] exclude hyperv synic sections from vhost Vitaly Kuznetsov
2020-01-09  3:00 ` Jason Wang
2020-01-09  9:07   ` Vitaly Kuznetsov
2020-01-09 12:02   ` Dr. David Alan Gilbert
2020-01-09 12:14     ` Michael S. Tsirkin [this message]
2020-01-09 11:53 ` Roman Kagan
2020-01-09 12:16   ` Dr. David Alan Gilbert

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=20200109070416-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=vkuznets@redhat.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.