All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi.kivity@qumranet.com>
To: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: xen-devel <xen-devel@lists.xensource.com>
Subject: Re: suspending execution within Xen
Date: Wed, 29 Jun 2005 16:49:20 +0300	[thread overview]
Message-ID: <1120052961.12491.11.camel@blast.q> (raw)
In-Reply-To: <2b16fd68e7b025242a843b31ba8e0701@cl.cam.ac.uk>

On Wed, 2005-06-29 at 13:42 +0100, Keir Fraser wrote:
> Xen on x86 doesn't support stack-based continuations within the 
> hypervisor -- that is, there is no way to deschedule the current domain 
> within Xen and then automatically return to your current point of 
> execution when you are re-scheduled.
> 
> If you have further work to do, before returning to guest context, when 
> the domain is rescheduled then you need to install your own hook 
> function into vcpu->arch.schedule_tail. You'll need to xmalloc any 
> space you need for continuation data.
> 

this will probably serve. thanks.


>   -- Keir
> 
> On 29 Jun 2005, at 12:53, Avi Kivity wrote:
> 
> > I am trying to send a stream of events about one domain to another. so 
> > I
> > set up a ring between the monitoring domain and xen (not the monitored
> > domain). however I am having trouble blocking when buffer space runs
> > out.
> >
> > the intuitive
> >
> >    while (!buffer_space_available())
> >        do_block();
> >
> > does not work; do_block() appears to return to guest context, not to 
> > the
> > while loop (is this correct?). the other alternative,
> >
> >     while (!buffer_space_available())
> > 	if (!test_and_set_bit(EDF_BLOCKED, &ed->ed_flags))
> > 	    domain_sleep(ed);
> >
> > freezes xen solid.
> >
> > is there a way to do it? am I missing something obvious?
> >
> > Avi
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xensource.com
> > http://lists.xensource.com/xen-devel
> 

      reply	other threads:[~2005-06-29 13:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-29 11:53 suspending execution within Xen Avi Kivity
2005-06-29 12:03 ` Timenkov Yuri
2005-06-29 12:43   ` Keir Fraser
2005-06-29 12:42 ` Keir Fraser
2005-06-29 13:49   ` Avi Kivity [this message]

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=1120052961.12491.11.camel@blast.q \
    --to=avi.kivity@qumranet.com \
    --cc=Keir.Fraser@cl.cam.ac.uk \
    --cc=xen-devel@lists.xensource.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.