All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
To: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel <kvm-devel-TtF/mJH4Jtrk1uMJSBkQmQ@public.gmane.org>
Subject: Re: Userspace hypercalls?
Date: Mon, 27 Aug 2007 12:47:22 -0500	[thread overview]
Message-ID: <1188236842.6364.18.camel@squirrel> (raw)
In-Reply-To: <46D30BAE.4080705-atKUWr5tajBWk0Htik3J/w@public.gmane.org>


On Mon, 2007-08-27 at 20:36 +0300, Avi Kivity wrote:
> Anthony Liguori wrote:
> > On Mon, 2007-08-27 at 19:47 +0300, Avi Kivity wrote:
> >   
> >> Avi Kivity wrote:
> >>     
> >>> Thinking a little more about this, it isn't about handling hypercalls 
> >>> in userspace, but about handling a virtio sync() in userspace.
> >>>
> >>> So how about having a KVM_HC_WAKE_CHANNEL hypercall (similar to Xen's 
> >>> event channel, but assymetric) that has a channel parameter.  The 
> >>> kernel handler for that hypercall dispatches calls to either a kernel 
> >>> handler or a userspace handler.  That means we don't need a separate 
> >>> ETH_SEND, ETH_RECEIVE, or BLOCK_SEND hypercalls.
> >>>       
> >> And thinking a tiny little bit more about this, we can have the kernel 
> >> (optionally) fire an eventfd, so a separate userspace thread or process 
> >> can be woken up to service the device, without a heavyweight exit.
> >>     
> >
> >
> > Yes, I think this is much nicer.  By "calls to ... a userspace handler"
> > I presume you mean generating an exit to userspace with a new exit type
> > similar to how hypercalls work today?
> >
> >   
> 
> There are two options:
> - hypercall handler sets some fields in vcpu->run and exits to userspace
> - hypercall handler triggers an eventfd and returns to guest
> 
> Maybe we can unify the two by only allowing eventfd;

Yes, that would be better except that the latency may be unacceptable.

>  userspace can 
> attach a signal to the eventfd if it wants a synchronous exit (does 
> eventfd allow fcntl(F_SETOWN)?)

Which would address the latency issue nicely.  Looking at the fs code,
it looks like eventfd shouldn't have to do anything special for it.

Regards,

Anthony Liguori

> 


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/

  parent reply	other threads:[~2007-08-27 17:47 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-27 15:27 Userspace hypercalls? Anthony Liguori
2007-08-27 16:16 ` Avi Kivity
     [not found]   ` <46D2F8FA.6050104-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-27 16:19     ` Avi Kivity
2007-08-27 16:33     ` Avi Kivity
     [not found]       ` <46D2FCE1.7020605-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-27 16:47         ` Avi Kivity
     [not found]           ` <46D3001A.9070706-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-27 17:32             ` Anthony Liguori
2007-08-27 17:36               ` Avi Kivity
     [not found]                 ` <46D30BAE.4080705-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-27 17:47                   ` Anthony Liguori [this message]
     [not found]                     ` <46D30F15.6050601@qumranet.com>
     [not found]                       ` <46D30F15.6050601-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-27 19:58                         ` Luca
     [not found]                           ` <68676e00708271258o278de93ek8a051619dd03fb6a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-08-27 20:01                             ` Avi Kivity
     [not found]                               ` <46D32DA8.1080900-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-27 21:06                                 ` Anthony Liguori
2007-08-29  6:59         ` Dor Laor
     [not found]           ` <64F9B87B6B770947A9F8391472E032160D6558D8-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-08-29 21:24             ` Avi Kivity
     [not found] <46D326020200005A00029BFF@mcclure.wal.novell.com>
     [not found] ` <46D326080200005A00029C02-Igcdv/6uVdMHoYOw/+koYqIwWpluYiW7@public.gmane.org>
2007-08-27 23:29   ` Gregory Haskins

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=1188236842.6364.18.camel@squirrel \
    --to=aliguori-r/jw6+rmf7hqt0dzr+alfa@public.gmane.org \
    --cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
    --cc=kvm-devel-TtF/mJH4Jtrk1uMJSBkQmQ@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.