mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-07 22:44:03 +00:00
aio: clean up now-unused functions
Some cleanups can now be made, now that the main loop does not anymore need hooks into the bottom half code. Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
4c8d0d2767
commit
22bfa75eaf
23
async.c
23
async.c
@ -117,16 +117,20 @@ void qemu_bh_delete(QEMUBH *bh)
|
|||||||
bh->deleted = 1;
|
bh->deleted = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void aio_bh_update_timeout(AioContext *ctx, uint32_t *timeout)
|
static gboolean
|
||||||
|
aio_ctx_prepare(GSource *source, gint *timeout)
|
||||||
{
|
{
|
||||||
|
AioContext *ctx = (AioContext *) source;
|
||||||
QEMUBH *bh;
|
QEMUBH *bh;
|
||||||
|
bool scheduled = false;
|
||||||
|
|
||||||
for (bh = ctx->first_bh; bh; bh = bh->next) {
|
for (bh = ctx->first_bh; bh; bh = bh->next) {
|
||||||
if (!bh->deleted && bh->scheduled) {
|
if (!bh->deleted && bh->scheduled) {
|
||||||
|
scheduled = true;
|
||||||
if (bh->idle) {
|
if (bh->idle) {
|
||||||
/* idle bottom halves will be polled at least
|
/* idle bottom halves will be polled at least
|
||||||
* every 10ms */
|
* every 10ms */
|
||||||
*timeout = MIN(10, *timeout);
|
*timeout = 10;
|
||||||
} else {
|
} else {
|
||||||
/* non-idle bottom halves will be executed
|
/* non-idle bottom halves will be executed
|
||||||
* immediately */
|
* immediately */
|
||||||
@ -135,21 +139,8 @@ void aio_bh_update_timeout(AioContext *ctx, uint32_t *timeout)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
return scheduled;
|
||||||
aio_ctx_prepare(GSource *source, gint *timeout)
|
|
||||||
{
|
|
||||||
AioContext *ctx = (AioContext *) source;
|
|
||||||
uint32_t wait = -1;
|
|
||||||
aio_bh_update_timeout(ctx, &wait);
|
|
||||||
|
|
||||||
if (wait != -1) {
|
|
||||||
*timeout = MIN(*timeout, wait);
|
|
||||||
return wait == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
@ -61,9 +61,6 @@ static int running_on_valgrind = -1;
|
|||||||
#ifdef CONFIG_LINUX
|
#ifdef CONFIG_LINUX
|
||||||
#include <sys/syscall.h>
|
#include <sys/syscall.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_EVENTFD
|
|
||||||
#include <sys/eventfd.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int qemu_get_thread_id(void)
|
int qemu_get_thread_id(void)
|
||||||
{
|
{
|
||||||
@ -183,34 +180,6 @@ int qemu_pipe(int pipefd[2])
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Creates an eventfd that looks like a pipe and has EFD_CLOEXEC set.
|
|
||||||
*/
|
|
||||||
int qemu_eventfd(int fds[2])
|
|
||||||
{
|
|
||||||
#ifdef CONFIG_EVENTFD
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = eventfd(0, 0);
|
|
||||||
if (ret >= 0) {
|
|
||||||
fds[0] = ret;
|
|
||||||
fds[1] = dup(ret);
|
|
||||||
if (fds[1] == -1) {
|
|
||||||
close(ret);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
qemu_set_cloexec(ret);
|
|
||||||
qemu_set_cloexec(fds[1]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if (errno != ENOSYS) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return qemu_pipe(fds);
|
|
||||||
}
|
|
||||||
|
|
||||||
int qemu_utimens(const char *path, const struct timespec *times)
|
int qemu_utimens(const char *path, const struct timespec *times)
|
||||||
{
|
{
|
||||||
struct timeval tv[2], tv_now;
|
struct timeval tv[2], tv_now;
|
||||||
|
@ -125,7 +125,6 @@ void aio_notify(AioContext *ctx);
|
|||||||
* These are internal functions used by the QEMU main loop.
|
* These are internal functions used by the QEMU main loop.
|
||||||
*/
|
*/
|
||||||
int aio_bh_poll(AioContext *ctx);
|
int aio_bh_poll(AioContext *ctx);
|
||||||
void aio_bh_update_timeout(AioContext *ctx, uint32_t *timeout);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* qemu_bh_schedule: Schedule a bottom half.
|
* qemu_bh_schedule: Schedule a bottom half.
|
||||||
|
@ -218,7 +218,6 @@ ssize_t qemu_recv_full(int fd, void *buf, size_t count, int flags)
|
|||||||
QEMU_WARN_UNUSED_RESULT;
|
QEMU_WARN_UNUSED_RESULT;
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
int qemu_eventfd(int pipefd[2]);
|
|
||||||
int qemu_pipe(int pipefd[2]);
|
int qemu_pipe(int pipefd[2]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user