This patchset implements first threading model by making use of the threadlets infrastructure being discussed here: http://www.mail-archive.com/qemu-devel@nongnu.org/msg36678.html
Here are some of the performance results comparing between the original code and threading model code: http://pastebin.com/EzdJRC34 Following are the features of the first threading model: * The VCPU thread runs the Qemu code until the first blocking call is encountered. * The work to be done in the blocking call is assigned to an asynchronous thread and the VCPU thread continues running the Qemu code. * The aynchronous thread reports back to the VCPU/IO thread when the blocking call is finished. * The VCPU/IO thread continues from immediately after the blocking call until the next blocking call is hit, and the whole process is repeated till no blocking call is encountered. The following series implements... --- Gautham R Shenoy (6): This patch converts v9fs_stat() to make use of the threadlets infrastructure. This patch converts v9fs_wstat() to make use of the threadlets infrastructure. This patch converts v9fs_read() to make use of the threadlets infrastructure. This patch converts v9fs_write() to make use of the threadlets infrastructure. This patch converts v9fs_open() to make use of the threadlets infrastructure. This patch converts v9fs_walk() to make use of the threadlets infrastructure. hw/virtio-9p.c | 770 +++++++++++++++++++++++++++++++++++++++++--------------- hw/virtio-9p.h | 33 ++ 2 files changed, 597 insertions(+), 206 deletions(-) -- arun