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

Re: [Xen-devel] [PATCH v2 4/5] qemu_next_alarm_deadline: check the expire time of a clock only if it is enabled



On 01/27/2012 01:26 PM, Stefano Stabellini wrote:
Also delta in qemu_next_alarm_deadline is a 64 bit value so set the
default to INT64_MAX instead of INT32_MAX.

Signed-off-by: Stefano Stabellini<stefano.stabellini@xxxxxxxxxxxxx>
---
  qemu-timer.c |   10 ++++------
  1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/qemu-timer.c b/qemu-timer.c
index cd026c6..648db1d 100644
--- a/qemu-timer.c
+++ b/qemu-timer.c
@@ -106,23 +106,21 @@ static inline int alarm_has_dynticks(struct 
qemu_alarm_timer *t)

  static int64_t qemu_next_alarm_deadline(void)
  {
-    int64_t delta;
+    int64_t delta = INT64_MAX;

I'm worried of overflows elsewhere...

      int64_t rtdelta;

-    if (!use_icount&&  vm_clock->active_timers) {
+    if (!use_icount&&  vm_clock->enabled&&  vm_clock->active_timers) {
          delta = vm_clock->active_timers->expire_time -
                       qemu_get_clock_ns(vm_clock);
-    } else {
-        delta = INT32_MAX;
      }
-    if (host_clock->active_timers) {
+    if (host_clock->enabled&&  host_clock->active_timers) {
          int64_t hdelta = host_clock->active_timers->expire_time -
                   qemu_get_clock_ns(host_clock);
          if (hdelta<  delta) {
              delta = hdelta;
          }
      }
-    if (rt_clock->active_timers) {
+    if (rt_clock->enabled&&  rt_clock->active_timers) {
          rtdelta = (rt_clock->active_timers->expire_time -
                   qemu_get_clock_ns(rt_clock));
          if (rtdelta<  delta) {

The patch is otherwise okay, but without looking more closely at the callers I'm not quite ready to give my Reviewed-by.

Paolo

_______________________________________________
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®.