Hi, This patch series introduces threadlet framework in qemu.
Changelog: * Modified the dequeue_work function logic which was earlier wrong. It now returns 0 on success and 1 on failure. * removed the locking for container_of which is not needed in handle_work() * changed qemu-threadlets.[c|h] to qemu-threadlet.[c|h] * introduced signal handler APIs in qemu-threadlet.c directly instead of in posix-aio-compat.c Testing: * I have tested this series using fsstress. Detailed testing information has been mentioned in the previous iteration. The following series implements... --- Arun R Bharadwaj (12): Add aiocb_mutex and aiocb_completion. Introduce work concept in posix-aio-compat.c Add callback function to ThreadletWork structure. Add ThreadletQueue. Threadlet: Add submit_work threadlet API. Threadlet: Add dequeue_work threadlet API and remove active field. Remove thread_create routine. Threadlet: Add aio_signal_handler threadlet API Remove all instances of CONFIG_THREAD Move threadlet code to qemu-threadlets.c Threadlets: Add functionality to create private queues. Threadlets: Add documentation Makefile.objs | 3 - configure | 2 docs/async-support.txt | 141 ++++++++++++++++++++++++++++ posix-aio-compat.c | 238 ++++++++++++------------------------------------ qemu-threadlet.c | 187 ++++++++++++++++++++++++++++++++++++++ qemu-threadlet.h | 48 ++++++++++ vl.c | 3 + 7 files changed, 440 insertions(+), 182 deletions(-) create mode 100644 docs/async-support.txt create mode 100644 qemu-threadlet.c create mode 100644 qemu-threadlet.h -- arun