From patchwork Tue Feb 25 13:36:51 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xuebing Wang X-Patchwork-Id: 323969 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id C550B2C007A for ; Wed, 26 Feb 2014 00:44:08 +1100 (EST) Received: from localhost ([::1]:34999 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIIIo-00032e-LD for incoming@patchwork.ozlabs.org; Tue, 25 Feb 2014 08:44:06 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49650) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIICk-0003tJ-Jh for qemu-devel@nongnu.org; Tue, 25 Feb 2014 08:37:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WIICc-0004gH-6B for qemu-devel@nongnu.org; Tue, 25 Feb 2014 08:37:50 -0500 Received: from mail-pa0-x22a.google.com ([2607:f8b0:400e:c03::22a]:32797) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIICb-0004g8-RB for qemu-devel@nongnu.org; Tue, 25 Feb 2014 08:37:41 -0500 Received: by mail-pa0-f42.google.com with SMTP id kl14so8086940pab.15 for ; Tue, 25 Feb 2014 05:37:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=WzqRHXO1PtvvwF+9AYFSjk7iHGn0WnDwwJbLLKWBhXM=; b=dvGc6DOBxxkZ/A5TL8I6vxjvlsnH7i5+e3u8mHK5ijtnw6AFHMuDiniAZoHOqT0XWt OR1tNhb4E760spSG54jVYZpYXdw1BhyU83/TKhpK9Exaf7DecRVHy7ijqcvhu+nBr4Sa xVxxEhoUKfjceXu5OS5gOnuWi11xh0XmBY5bnyLQkoGWGUqkqe+uR8aZ9rbKTDymiyQG ePVfFWGLdlUkzmo0MeEn16PgAvU6UWWA6uktF2REjsOfuJ6SC8VkKvgF8qayyuvt6MSd SK3Ie4eiYxW3tPPeiPBjTZKaFifmLn3MpLyE72T+Gf2SMAC1mp6SmSoSFVERPyBCgInk PotQ== X-Received: by 10.66.142.42 with SMTP id rt10mr1715876pab.1.1393335460940; Tue, 25 Feb 2014 05:37:40 -0800 (PST) Received: from localhost.localdomain ([216.131.71.88]) by mx.google.com with ESMTPSA id j3sm10781784pbh.38.2014.02.25.05.37.34 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 25 Feb 2014 05:37:40 -0800 (PST) From: Xuebing Wang To: qemu-devel@nongnu.org Date: Tue, 25 Feb 2014 21:36:51 +0800 Message-Id: <1393335414-27589-5-git-send-email-xbing6@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1393335414-27589-1-git-send-email-xbing6@gmail.com> References: <1393335414-27589-1-git-send-email-xbing6@gmail.com> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400e:c03::22a Cc: pbonzini@redhat.com, xbing6@gmail.com, stefanha@redhat.com, alex@alex.org.uk Subject: [Qemu-devel] [PATCH 4/7] timer: move QEMUTimerListGroup function to be below QEMUClockType X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: Xuebing Wang --- qemu-timer.c | 86 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 45 insertions(+), 41 deletions(-) diff --git a/qemu-timer.c b/qemu-timer.c index 471150c..6f13a76 100644 --- a/qemu-timer.c +++ b/qemu-timer.c @@ -456,6 +456,51 @@ bool qemu_clock_run_all_timers(void) return progress; } +/* + * QEMUTimerListGroup + */ + +void timerlistgroup_init(QEMUTimerListGroup *tlg, + QEMUTimerListNotifyCB *cb, void *opaque) +{ + QEMUClockType type; + for (type = 0; type < QEMU_CLOCK_MAX; type++) { + tlg->tl[type] = timerlist_new(type, cb, opaque); + } +} + +void timerlistgroup_deinit(QEMUTimerListGroup *tlg) +{ + QEMUClockType type; + for (type = 0; type < QEMU_CLOCK_MAX; type++) { + timerlist_free(tlg->tl[type]); + } +} + +bool timerlistgroup_run_timers(QEMUTimerListGroup *tlg) +{ + QEMUClockType type; + bool progress = false; + for (type = 0; type < QEMU_CLOCK_MAX; type++) { + progress |= timerlist_run_timers(tlg->tl[type]); + } + return progress; +} + +int64_t timerlistgroup_deadline_ns(QEMUTimerListGroup *tlg) +{ + int64_t deadline = -1; + QEMUClockType type; + for (type = 0; type < QEMU_CLOCK_MAX; type++) { + if (qemu_clock_use_for_deadline(tlg->tl[type]->clock->type)) { + deadline = qemu_soonest_timeout(deadline, + timerlist_deadline_ns( + tlg->tl[type])); + } + } + return deadline; +} + /* Transition function to convert a nanosecond timeout to ms * This is used where a system does not support ppoll */ @@ -630,47 +675,6 @@ bool timer_expired(QEMUTimer *timer_head, int64_t current_time) return timer_expired_ns(timer_head, current_time * timer_head->scale); } -void timerlistgroup_init(QEMUTimerListGroup *tlg, - QEMUTimerListNotifyCB *cb, void *opaque) -{ - QEMUClockType type; - for (type = 0; type < QEMU_CLOCK_MAX; type++) { - tlg->tl[type] = timerlist_new(type, cb, opaque); - } -} - -void timerlistgroup_deinit(QEMUTimerListGroup *tlg) -{ - QEMUClockType type; - for (type = 0; type < QEMU_CLOCK_MAX; type++) { - timerlist_free(tlg->tl[type]); - } -} - -bool timerlistgroup_run_timers(QEMUTimerListGroup *tlg) -{ - QEMUClockType type; - bool progress = false; - for (type = 0; type < QEMU_CLOCK_MAX; type++) { - progress |= timerlist_run_timers(tlg->tl[type]); - } - return progress; -} - -int64_t timerlistgroup_deadline_ns(QEMUTimerListGroup *tlg) -{ - int64_t deadline = -1; - QEMUClockType type; - for (type = 0; type < QEMU_CLOCK_MAX; type++) { - if (qemu_clock_use_for_deadline(tlg->tl[type]->clock->type)) { - deadline = qemu_soonest_timeout(deadline, - timerlist_deadline_ns( - tlg->tl[type])); - } - } - return deadline; -} - void init_clocks(void) { QEMUClockType type;