[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/12] Threadlets Infrastructure.
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH 00/12] Threadlets Infrastructure. |
Date: |
Mon, 17 Jan 2011 10:32:24 +0000 |
This series needs a new pair of eyes for review. I'm probably missing
things here after seeing it many times.
posix-aio-compat.c:handle_work() doesn't need to take aiocb_mutex for
container_of(), which just calculates an address but doesn't actually
access the aiocb.
dequeue_work_on_queue() is incorrect because a threadlet_worker() may
remove the work item from the request_list just before we remove it
again. That double-remove is wrong and by not detecting this case we
return success even though the work function may be running
concurrently (and it's not safe to do anything with the work item at
this time!). Dequeue needs to lock the request_list, test if the item
is still
on the list, remove it if necessary, and return whether or not it was removed.
Stefan
- Re: [Qemu-devel] [PATCH 08/12] Threadlet: Add aio_signal_handler threadlet API, (continued)
[Qemu-devel] [PATCH 09/12] Remove all instances of CONFIG_THREAD, Arun R Bharadwaj, 2011/01/13
[Qemu-devel] [PATCH 10/12] Move threadlet code to qemu-threadlets.c, Arun R Bharadwaj, 2011/01/13
[Qemu-devel] [PATCH 11/12] Threadlets: Add functionality to create private queues., Arun R Bharadwaj, 2011/01/13
[Qemu-devel] [PATCH 12/12] Threadlets: Add documentation, Arun R Bharadwaj, 2011/01/13
Re: [Qemu-devel] [PATCH 00/12] Threadlets Infrastructure.,
Stefan Hajnoczi <=