Message ID | 1409037343-23878-1-git-send-email-famz@redhat.com |
---|---|
State | New |
Headers | show |
The Tuesday 26 Aug 2014 à 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. > > Signed-off-by: Fam Zheng <famz@redhat.com> > --- > blockjob.c | 2 +- > include/block/coroutine.h | 8 -------- > qemu-coroutine-sleep.c | 12 ------------ > 3 files changed, 1 insertion(+), 21 deletions(-) > > 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, QEMUClockType 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 = 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 loop 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); > } > > -void coroutine_fn co_sleep_ns(QEMUClockType type, int64_t ns) > -{ > - CoSleepCB sleep_cb = { > - .co = qemu_coroutine_self(), > - }; > - sleep_cb.ts = 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) > { > -- > 2.1.0 > > Reviewed-by: Benoît Canet <benoit.canet@nodalink.com>
On Tue, Aug 26, 2014 at 03:15:43PM +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 > the old one. > > Signed-off-by: Fam Zheng <famz@redhat.com> > --- > blockjob.c | 2 +- > include/block/coroutine.h | 8 -------- > qemu-coroutine-sleep.c | 12 ------------ > 3 files changed, 1 insertion(+), 21 deletions(-) Fixed the typo in the commit message. Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan
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, QEMUClockType 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 = 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 loop 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); } -void coroutine_fn co_sleep_ns(QEMUClockType type, int64_t ns) -{ - CoSleepCB sleep_cb = { - .co = qemu_coroutine_self(), - }; - sleep_cb.ts = 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) {
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 the old one. Signed-off-by: Fam Zheng <famz@redhat.com> --- blockjob.c | 2 +- include/block/coroutine.h | 8 -------- qemu-coroutine-sleep.c | 12 ------------ 3 files changed, 1 insertion(+), 21 deletions(-)