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