From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58484) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V7Jbh-0005ZG-1S for qemu-devel@nongnu.org; Thu, 08 Aug 2013 02:21:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V7Jbf-0007fn-VQ for qemu-devel@nongnu.org; Thu, 08 Aug 2013 02:21:56 -0400 Received: from mail-la0-x232.google.com ([2a00:1450:4010:c03::232]:39209) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V7Jbf-0007fg-NL for qemu-devel@nongnu.org; Thu, 08 Aug 2013 02:21:55 -0400 Received: by mail-la0-f50.google.com with SMTP id fn20so553584lab.37 for ; Wed, 07 Aug 2013 23:21:54 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1375832956-7588-2-git-send-email-alex@alex.org.uk> References: <1375832956-7588-1-git-send-email-alex@alex.org.uk> <1375832956-7588-2-git-send-email-alex@alex.org.uk> From: liu ping fan Date: Thu, 8 Aug 2013 14:21:34 +0800 Message-ID: Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [Qemu-devel] [RFC] [PATCHv7 01/22] aio / timers: Add qemu_clock_free and expose qemu_clock_new and clock types List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Bligh Cc: Kevin Wolf , Anthony Liguori , qemu-devel@nongnu.org, Stefan Hajnoczi , Paolo Bonzini , MORITA Kazutaka , rth@twiddle.net On Wed, Aug 7, 2013 at 7:48 AM, Alex Bligh wrote: > Add qemu_clock_free and expose qemu_new_clock as qemu_clock_new. > > Expose clock types. > > Signed-off-by: Alex Bligh > --- > include/qemu/timer.h | 22 ++++++++++++++++++++++ > qemu-timer.c | 11 ++++++----- > 2 files changed, 28 insertions(+), 5 deletions(-) > > diff --git a/include/qemu/timer.h b/include/qemu/timer.h > index 9dd206c..3dd20bf 100644 > --- a/include/qemu/timer.h > +++ b/include/qemu/timer.h > @@ -11,6 +11,10 @@ > #define SCALE_US 1000 > #define SCALE_NS 1 > > +#define QEMU_CLOCK_REALTIME 0 > +#define QEMU_CLOCK_VIRTUAL 1 > +#define QEMU_CLOCK_HOST 2 > + > typedef struct QEMUClock QEMUClock; > typedef void QEMUTimerCB(void *opaque); > > @@ -32,6 +36,24 @@ extern QEMUClock *vm_clock; > the virtual clock. */ > extern QEMUClock *host_clock; > > +/** > + * qemu_clock_new: > + * @type: the type of clock to be created > + * > + * Create a new clock of type @type > + * > + * Returns: A pointer to the clock object > + */ > +QEMUClock *qemu_clock_new(int type); > + > +/** > + * qemu_clock_free: > + * @clock: the clock to free > + * > + * Free clock object @clock > + */ > +void qemu_clock_free(QEMUClock *clock); Go through this series, I can not find the caller of it. I think as clock source, the QEMUClock can not be destroyed, except exit(2), so could we let exit to reclaim the resource? Or at least, this interface should not be public. > + > int64_t qemu_get_clock_ns(QEMUClock *clock); > int64_t qemu_clock_has_timers(QEMUClock *clock); > int64_t qemu_clock_expired(QEMUClock *clock); > diff --git a/qemu-timer.c b/qemu-timer.c > index b2d95e2..531aa05 100644 > --- a/qemu-timer.c > +++ b/qemu-timer.c > @@ -40,10 +40,6 @@ > /***********************************************************/ > /* timers */ > > -#define QEMU_CLOCK_REALTIME 0 > -#define QEMU_CLOCK_VIRTUAL 1 > -#define QEMU_CLOCK_HOST 2 > - > struct QEMUClock { > QEMUTimer *active_timers; > > @@ -231,7 +227,7 @@ QEMUClock *rt_clock; > QEMUClock *vm_clock; > QEMUClock *host_clock; > > -static QEMUClock *qemu_new_clock(int type) > +QEMUClock *qemu_clock_new(int type) > { > QEMUClock *clock; > > @@ -243,6 +239,11 @@ static QEMUClock *qemu_new_clock(int type) > return clock; > } > > +void qemu_clock_free(QEMUClock *clock) > +{ > + g_free(clock); > +} > + > void qemu_clock_enable(QEMUClock *clock, bool enabled) > { > bool old = clock->enabled; > -- > 1.7.9.5 >