qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [V2 0/25] Async threading for VirtFS using glib threads & c


From: Venkateswararao Jujjuri (JV)
Subject: [Qemu-devel] [V2 0/25] Async threading for VirtFS using glib threads & coroutines.
Date: Tue, 17 May 2011 12:43:26 -0700

VirtFS (fileserver base on 9P) performs many blocking system calls in the 
vCPU context. This effort is to move the blocking calls out of vCPU/IO 
thread context, into asynchronous threads.

Anthony's " Add hard build dependency on glib" patch and 
Kevin/Stefan's coroutine effort is a prerequisite.

Changes from V1
---------------
o Redesigned to use bh as per Stefan's suggestion. 
  This made the code very simple but is little less performant compared to V1.
  Anthony suggested to go-in with cleaner code and design (This version) and
  deal with the performance later.
  Just to put in perspective:
  Sequential Writes of creating 1GB files using ffsb
  o Write size 8k 
  With bh: 66.9MB/sec
  Without bh (marshalling routines): 74.9 MB/sec

  o Write size 128k
  With bh: 117MB/sec
  Without bh (marshalling routines): 122MB/sec

o Addressed all review comments.

o Using readdir_r is currently being worked on. Will add as a patch on top.

This patch set contains:
 - Converting all 9pfs calls into coroutines. 
 - Each 9P operation will be modified for:
    - Remove post* functions. These are our call back functions which makes 
      the code very hard to read. Now with coroutines, we can achieve the same 
      state machine model with nice sequential code flow.
    - Move errno access near to the local_syscall()
    - Introduce asynchronous threading

This series has the basic infrastructure and few routines like 
mkdir,monod,unlink,readdir,xattr,lstat, etc converted. 
Currently we are working on converting and testing other 9P operations also 
into this model and those patches will follow shortly.

Removing callback functions made some of the patches little lengthy. 
Here is the git tree for the reviewer convenience. 

http://repo.or.cz/w/qemu/aliguori/jvrao.git/shortlog/refs/heads/9p-coroutine-bh-round1

Signed-off-by: Venkateswararao Jujjuri "<address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]