[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 03/13] Add callback function to ThreadletWork st
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] Re: [PATCH 03/13] Add callback function to ThreadletWork structure. |
Date: |
Wed, 5 Jan 2011 19:54:17 +0000 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Tue, Jan 04, 2011 at 10:57:20AM +0530, Arun R Bharadwaj wrote:
> +static void aio_thread(ThreadletWork *work)
> +{
aio_thread() is not a descriptive name here. This isn't the top-level
thread function, just the work->func. Please choose something like
handle_aiocb() or handle_work().
> + pid_t pid;
> + ssize_t ret = 0;
> + struct qemu_paiocb *aiocb;
> +
> + pid = getpid();
> + aiocb = container_of(work, struct qemu_paiocb, work);
> + aiocb->active = 1;
aiocb_mutex?
>
> - if (kill(pid, aiocb->ev_signo)) die("kill failed");
> + switch (aiocb->aio_type & QEMU_AIO_TYPE_MASK) {
> + case QEMU_AIO_READ:
> + case QEMU_AIO_WRITE:
> + ret = handle_aiocb_rw(aiocb);
> + break;
> + case QEMU_AIO_FLUSH:
> + ret = handle_aiocb_flush(aiocb);
> + break;
> + case QEMU_AIO_IOCTL:
> + ret = handle_aiocb_ioctl(aiocb);
> + break;
> + default:
> + fprintf(stderr, "invalid aio request (0x%x)\n", aiocb->aio_type);
> + ret = -EINVAL;
> + break;
> }
>
> - idle_threads--;
> - cur_threads--;
> - mutex_unlock(&lock);
> + qemu_mutex_lock(&aiocb_mutex);
> + aiocb->ret = ret;
> + qemu_cond_broadcast(&aiocb_completion);
> + qemu_mutex_unlock(&aiocb_mutex);
>
> - return NULL;
> + if (kill(pid, aiocb->ev_signo)) {
> + die("kill failed");
> + }
> + return;
return not needed in void function, please remove.
Stefan
- [Qemu-devel] [PATCH 00/13] Threadlets infrastructure., Arun R Bharadwaj, 2011/01/04
- [Qemu-devel] [PATCH 01/13] Add aiocb_mutex and aiocb_completion., Arun R Bharadwaj, 2011/01/04
- [Qemu-devel] [PATCH 02/13] Introduce work concept in posix-aio-compat.c, Arun R Bharadwaj, 2011/01/04
- [Qemu-devel] [PATCH 03/13] Add callback function to ThreadletWork structure., Arun R Bharadwaj, 2011/01/04
- [Qemu-devel] Re: [PATCH 03/13] Add callback function to ThreadletWork structure.,
Stefan Hajnoczi <=
- [Qemu-devel] [PATCH 04/13] Add ThreadletQueue., Arun R Bharadwaj, 2011/01/04
- [Qemu-devel] [PATCH 05/13] Threadlet: Add submit_work threadlet API., Arun R Bharadwaj, 2011/01/04
- [Qemu-devel] [PATCH 06/13] Threadlet: Add dequeue_work threadlet API, Arun R Bharadwaj, 2011/01/04
- [Qemu-devel] [PATCH 07/13] Remove active field in qemu_aiocb structure., Arun R Bharadwaj, 2011/01/04