All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
To: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: virtio & hypercall interface?
Date: Sun, 16 Sep 2007 19:35:24 +1000	[thread overview]
Message-ID: <1189935324.7262.120.camel@localhost.localdomain> (raw)
In-Reply-To: <46ECEFEE.6000208-atKUWr5tajBWk0Htik3J/w@public.gmane.org>

On Sun, 2007-09-16 at 10:57 +0200, Avi Kivity wrote:
> Rusty Russell wrote:
> > On Sat, 2007-09-15 at 12:38 +0300, Avi Kivity wrote:
> >   
> >> I don't see why there is a difference.  With mmio, the host tells the
> >> guest where the ring is.  With dma, the guest tells the host where the
> >> ring is.  In both cases, you need some form of communication (read-only
> >> for mmio, write-only for dma).
> >>
> >> For mmio, the mechanism is standardized within pci; for dma it is not,
> >> but it is still just as simple, write to some word in pci config space
> >> and you're done.
> >>     
> >
> > No, you already need a r/o, whatever you use.  That's because you need
> > to describe the features of the device (eg disk size).
> >
> >   
> 
> I don't get your point (I agree with everthing you said except the 
> "No,", so maybe I'm not understanding something).

You said "In both cases, you need some form of communication".  True,
but we already need host -> guest.  dma-style adds guest -> host, which
is new.

It is not the simplest solution, and this is a standard we're creating.

> >> If early printk can't handle pci, we can provide a pio port that does
> >> byte-at-a-time output.
> >>     
> >
> > It's not that it can't handle PCI, it's that it now needs to find a page
> > to use.  That's less trivial than using an already-existing page.
> >   
> 
> static char a_page[PAGE_SIZE] __aligned(PAGE_SIZE);

We don't want to waste two pages in a driver which might not be used at
all.

> > As for making suspend/resume more complex, I can't see it.  Make the
> > guest memory a few pages bigger, and don't tell the guest about those
> > extra pages (that's waht lguest does today: those mmio pages are just
> > above top of "normal" RAM).
> >   
> 
> That's annoying for memory or device hotplug  (though not insurmountable).

Sure, and we can get more sophisticated when those happen.

> The vga framebuffer handles this by allocating a separate memory slot; 
> the right way if we go to mmio device memory is to have one slot per 
> device.  But I still think that if e1000 can allocate the ring in system 
> memory, so can virtio.

We *can*, but adding complexity needs justification.  For the e1000,
it's performance.  For virtio, it's "might simplify modifications to
existing kvm-qemu", which is far weaker IMHO.

Cheers,
Rusty.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

  parent reply	other threads:[~2007-09-16  9:35 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-13  6:21 virtio & hypercall interface? Rusty Russell
     [not found] ` <1189664514.32322.14.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-13 19:21   ` Anthony Liguori
     [not found]     ` <46E98DC0.3050509-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-09-13 21:26       ` Rusty Russell
     [not found]         ` <1189718818.32322.41.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-13 21:41           ` Anthony Liguori
2007-09-13 20:33   ` Dor Laor
     [not found]     ` <64F9B87B6B770947A9F8391472E032160DA17EF2-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-09-13 20:45       ` Anthony Liguori
     [not found]         ` <46E9A17D.5040205-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-09-14 16:46           ` Avi Kivity
     [not found]             ` <46EABAD0.40300-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-14 22:31               ` Dor Laor
     [not found]                 ` <46EB0BD8.6040000-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-15  3:06                   ` Rusty Russell
     [not found]                     ` <1189825560.7262.77.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-15  8:05                       ` Avi Kivity
     [not found]                         ` <46EB9245.4010005-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-15  8:32                           ` Rusty Russell
     [not found]                             ` <1189845153.7262.94.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-15  9:38                               ` Avi Kivity
     [not found]                                 ` <46EBA806.6070507-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-16  7:50                                   ` Rusty Russell
     [not found]                                     ` <1189929012.7262.105.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-16  8:57                                       ` Avi Kivity
     [not found]                                         ` <46ECEFEE.6000208-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-16  9:35                                           ` Rusty Russell [this message]
     [not found]                                             ` <1189935324.7262.120.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-09-16  9:45                                               ` Avi Kivity
2007-09-15  7:59                   ` Avi Kivity
2007-09-15 17:31                   ` Anthony Liguori
     [not found]                     ` <46EC1709.2080803-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-09-15 21:56                       ` Dor Laor
     [not found]                         ` <46EC5515.2020004-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-15 22:49                           ` Anthony Liguori
2007-09-14 16:44   ` Avi Kivity
     [not found]     ` <46EABA59.10808-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-14 16:49       ` Anthony Liguori

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=1189935324.7262.120.camel@localhost.localdomain \
    --to=rusty-8n+1lvoiyb80n/f98k4iww@public.gmane.org \
    --cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /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.