From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36814) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMIKI-0004IC-2O for qemu-devel@nongnu.org; Tue, 26 Aug 2014 11:06:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XMIKC-00045Z-Vz for qemu-devel@nongnu.org; Tue, 26 Aug 2014 11:06:26 -0400 Received: from lputeaux-656-01-25-125.w80-12.abo.wanadoo.fr ([80.12.84.125]:51877 helo=paradis.irqsave.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMIKC-00044c-PH for qemu-devel@nongnu.org; Tue, 26 Aug 2014 11:06:20 -0400 Date: Tue, 26 Aug 2014 17:05:31 +0200 From: =?iso-8859-1?Q?Beno=EEt?= Canet Message-ID: <20140826150531.GB24511@irqsave.net> References: <1409037343-23878-1-git-send-email-famz@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <1409037343-23878-1-git-send-email-famz@redhat.com> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] coroutine: Drop co_sleep_ns List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng Cc: Kevin Wolf , qemu-devel@nongnu.org, Stefan Hajnoczi The Tuesday 26 Aug 2014 =E0 15:15:43 (+0800), Fam Zheng wrote : > block_job_sleep_ns is the only user. Since we are moving towards > AioContext aware code, it's better to use the explict version and drop s/explict/explicit/g ?G > the old one. >=20 > Signed-off-by: Fam Zheng > --- > blockjob.c | 2 +- > include/block/coroutine.h | 8 -------- > qemu-coroutine-sleep.c | 12 ------------ > 3 files changed, 1 insertion(+), 21 deletions(-) >=20 > diff --git a/blockjob.c b/blockjob.c > index ca0b4e2..0689fdd 100644 > --- a/blockjob.c > +++ b/blockjob.c > @@ -205,7 +205,7 @@ void block_job_sleep_ns(BlockJob *job, QEMUClockTyp= e type, int64_t ns) > if (block_job_is_paused(job)) { > qemu_coroutine_yield(); > } else { > - co_sleep_ns(type, ns); > + co_aio_sleep_ns(bdrv_get_aio_context(job->bs), type, ns); > } > job->busy =3D true; > } > diff --git a/include/block/coroutine.h b/include/block/coroutine.h > index b9b7f48..793df0e 100644 > --- a/include/block/coroutine.h > +++ b/include/block/coroutine.h > @@ -203,14 +203,6 @@ void qemu_co_rwlock_unlock(CoRwlock *lock); > /** > * Yield the coroutine for a given duration > * > - * Note this function uses timers and hence only works when a main loo= p is in > - * use. See main-loop.h and do not use from qemu-tool programs. > - */ > -void coroutine_fn co_sleep_ns(QEMUClockType type, int64_t ns); > - > -/** > - * Yield the coroutine for a given duration > - * > * Behaves similarly to co_sleep_ns(), but the sleeping coroutine will= be > * resumed when using aio_poll(). > */ > diff --git a/qemu-coroutine-sleep.c b/qemu-coroutine-sleep.c > index ad78fba..9abb7fd 100644 > --- a/qemu-coroutine-sleep.c > +++ b/qemu-coroutine-sleep.c > @@ -27,18 +27,6 @@ static void co_sleep_cb(void *opaque) > qemu_coroutine_enter(sleep_cb->co, NULL); > } > =20 > -void coroutine_fn co_sleep_ns(QEMUClockType type, int64_t ns) > -{ > - CoSleepCB sleep_cb =3D { > - .co =3D qemu_coroutine_self(), > - }; > - sleep_cb.ts =3D timer_new(type, SCALE_NS, co_sleep_cb, &sleep_cb); > - timer_mod(sleep_cb.ts, qemu_clock_get_ns(type) + ns); > - qemu_coroutine_yield(); > - timer_del(sleep_cb.ts); > - timer_free(sleep_cb.ts); > -} > - > void coroutine_fn co_aio_sleep_ns(AioContext *ctx, QEMUClockType type, > int64_t ns) > { > --=20 > 2.1.0 >=20 >=20 Reviewed-by: Beno=EEt Canet