qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH RFC V1 02/11] qemu-timer: Introduce qemu_run_one


From: Stefano Stabellini
Subject: Re: [Qemu-devel] [PATCH RFC V1 02/11] qemu-timer: Introduce qemu_run_one_timer
Date: Tue, 4 Oct 2011 18:52:33 +0100
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)

On Tue, 4 Oct 2011, Jan Kiszka wrote:
> On 2011-10-04 16:51, Anthony PERARD wrote:
> > Used by the Xen PCI Passthrough code to run the timer about the power
> > state transition.
> > 
> > Signed-off-by: Anthony PERARD <address@hidden>
> > ---
> >  qemu-timer.c |   15 +++++++++++++++
> >  qemu-timer.h |    3 +++
> >  2 files changed, 18 insertions(+), 0 deletions(-)
> > 
> > diff --git a/qemu-timer.c b/qemu-timer.c
> > index 46dd483..15e659b 100644
> > --- a/qemu-timer.c
> > +++ b/qemu-timer.c
> > @@ -1163,3 +1163,18 @@ int qemu_calculate_timeout(void)
> >      return 1000;
> >  }
> >  
> > +/* run the specified timer */
> > +void qemu_run_one_timer(QEMUTimer *ts)
> > +{
> > +    uint64_t current_time;
> > +
> > +    /* remove timer from the list before calling the callback */
> > +    qemu_del_timer(ts);
> > +
> > +    while ((current_time = qemu_get_clock_ms(rt_clock)) < ts->expire_time)
> > +        /* sleep until the expire time */
> > +        usleep((ts->expire_time - current_time) * 1000);
> > +
> > +    /* run the callback */
> > +    ts->cb(ts->opaque);
> > +}
> 
> This looks funny. I can't imagine that this could ever fit into the
> standard (asynchronous) QEMU execution model for I/O. Keep it private to
> Xen?

I haven't finished reading the series yet, but this caught my eye
because it is particularly ugly; we should get rid of it.

Considering that on a real device if you try to write to the PCI config
space before a power transition is completed the write just fails, maybe
we should do the same here and remove the timer.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]