Paolo,

--On 7 August 2013 11:43:58 -0400 Paolo Bonzini <pbonz...@redhat.com> wrote:

For anyone wishing to review this series, here's a diagram showing the
new relationships and a summary of this series:

http://vmsplice.net/~stefan/timerlist.jpg

TimerList is the list of QEMUTimers which are pending on a QEMUClock
clock source.

I just started reviewing this and the diagram may be different in
v7,

No the data structures are the same, just bits renamed.

anyway: why do you need a default TimerListGroup?  I would have
thought it is enough to use the default AioContext's own TLG.

The default TimerListGroup has been renamed main_loop_tlg (or similar)
in order to make this clearer.

Right now, we have a peculiar double set of polling and waiting,
an inner one in AioContext and an outer one in main_loop. Existing
timer users may not be safe to be called within the inner AioContext
and may expect to be run only from main_loop. Also, I believe there
are some binaries that don't even have an AioContext at the moment,
or may not have them at all times when timers are needed.

I understand this may be simplified in the future, in which case
if we always (in every binary) have a default AioContext AND it
exists early enough, we can remove the main_loop_tlg and make
the qemu_ functions uses the default AioContext. That's far from
a huge change but I'd rather not do it is part of this series
as I suspect there is the risk of breakage.

--
Alex Bligh

Reply via email to