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