qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v10 5/7] hw/ptimer: Legalize running with delta


From: Dmitry Osipenko
Subject: Re: [Qemu-devel] [PATCH v10 5/7] hw/ptimer: Legalize running with delta = load = 0
Date: Fri, 15 Jan 2016 21:10:09 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0

12.01.2016 21:12, Dmitry Osipenko пишет:
12.01.2016 06:58, Peter Crosthwaite пишет:
On Sat, Jan 09, 2016 at 08:39:53PM +0300, Dmitry Osipenko wrote:
Currently ptimer would print error message and clear enable flag for an
arming timer that has delta = load = 0. That actually could be a valid case
for some hardware, like instant IRQ trigger for oneshot timer or continuous
in periodic mode. Support those cases by printing error message only when
period = 0.


Isn't the continuous-periodic the same as period = 0, so if we were to really
support this, there should be no error message. This would simplify as we
can remove the conditionals of 0 period completely and rely only on the
too-fast clamps you add in previous patches.


I don't think that clamping is needed. Instead doing the ptimer_tick might be
necessary, so ptimer user could handle that case on it own.

BTW, that printf isn't quite reliable, hw_error or other way of execution abort
should been used instead.

Thanks for the comment.


Looking more at it, I think we should keep period = 0 forbidden. So it's treated as undefined behaviour and ptimer user should take care of it. If we'd want to handle period = 0 within ptimer, then we should also handle freq = 0, which implies potential ptimer VMSD version bump. Also it is uncertain what default behaviour should be chosen for period = 0, my guess is that pausing (_not_disabling_) the timer (like in freq = 0 case) should be more common among various hardware. If you have any thoughts on it, please let me know.

--
Dmitry



reply via email to

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