[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] suspending execution within Xen



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@xxxxxxxxxxxxxxxxxxx
> > http://lists.xensource.com/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.